# x_mdialog

Dialog for interactive vector/matrix input.

## Calling Sequence

    result=x_mdialog(title,labels,default_inputs_vector)
                result=x_mdialog(title,labelsv,labelsh,default_input_matrix)

## Arguments

title

  column vector of strings, dialog general comment

labels

  n column vector of strings, `labels(i)` is the label of the ith required value

default_input_vector

  n column vector of strings, `default_input_vector(i)` is the initial value of the ith required value

labelsv

  n vector of strings, `labelsv(i)` is the label of the ith line of the required matrix

labelsh

  m vector of strings, `labelsh(j)` is the label of the jth column of the required matrix

default_input_matrix

  n x m matrix of strings, `default_input_matrix(i,j)` is the initial value of the (i,j) element of then required matrix

result

  n x m matrix of string if returned with "Ok" button or [] if returned with "Cancel" button

## Description

Opens a dialog for interactive vector/matrix input.

## Examples

    txt = ['magnitude';'frequency';'phase    '];
    sig = x_mdialog('enter sine signal',txt,['1';'10';'0'])
    mag = evstr(sig(1))
    frq = evstr(sig(2))
    ph  = evstr(sig(3))

    rep = x_mdialog(['System Simulation';'with PI regulator'],...
                     ['P gain';'I gain '],[' ';' '])

    sz = [4,3];
    default_input_matrix = string(int32(rand(sz(1), sz(2)) * 200 - 100));
    labelsv = 'row '+string(1:sz(1));
    labelsh = 'col '+string(1:sz(2));
    rep = x_mdialog('Enter a matrix',...
                     labelsv, labelsh, default_input_matrix)

    sz = [10,10];
    default_input_matrix = string(rand(sz(1), sz(2)) > 0.5);
    labelsv = string(1:sz(1));
    labelsh = string(1:sz(2));
    rep = x_mdialog('Enter a boolean matrix', labelsv, labelsh, default_input_matrix)

## See Also

- editvar
- x_dialog
- x_choose
- messagebox
- getvalue
- evstr
- execstr