Matlab 绘制箱线图的GUI设计

Matlab 绘制箱线图的GUI设计,matlab,matlab-guide,Matlab,Matlab Guide,让我们假设我们有以下GUI 想法如下:用户输入变量的输入或数量,然后在循环中他将逐步输入变量的数量,例如,让我们假设变量的数量为5 所以用户输入1,然后单击enter,单元格将为空,然后输入2,然后输入等等,结果将保存在预先分配的数组中,下面是代码 n=str2num(get(handles.observation_number,'String')); array=zeros(1,n); for ii=1:n array(ii)=str2num(get(handles.variable

让我们假设我们有以下GUI

想法如下:用户输入变量的输入或数量,然后在循环中他将逐步输入变量的数量,例如,让我们假设变量的数量为5
所以用户输入1,然后单击enter,单元格将为空,然后输入2,然后输入等等,结果将保存在预先分配的数组中,下面是代码

n=str2num(get(handles.observation_number,'String'));
array=zeros(1,n);
for ii=1:n
    array(ii)=str2num(get(handles.variables,'String'));
end
axes(handles.axes1);
boxplot(array);
但这个程序并没有给我这样做的可能性,我怎样才能修复它呢?提前感谢

我将在您的位置使用inputdlg():

for ii=1:n
    prompt = {'Enter a variable:'};
    dlg_title = 'Input';
    num_lines = 1;
    answer = inputdlg(prompt,dlg_title,num_lines);
    array(ii) = str2double(answer);
end

您必须创建一个回调函数,类似于:

enterVar=uicontrol('Style', 'edit','Callback',{@addVar});

其中,addVar是一个函数,它将当前值分配给“array”变量的最后一个空位置,并删除文本框的内容。

如果有人单击了关闭标记,他或她应该解释原因