我对matlab完全不熟悉,这是我的第一个问题。 我找到了这样的程序
x = inputdlg('foo');
x = str2num(x{1})
并尝试从中创建一些gui,将此行放到按钮的回调函数中:
x=get(handles.edit1, 'String')
x=str2num(x{1})
并且它有效,但是在我用不同的变量
添加相同的东西之后y=get(handles.edit2, 'String')
y=str2num(y{1})
命令窗口说
Cell contents reference from a non-cell array object.
Error in regresilinear>pushbutton1_Callback (line 128)
x=str2num(x{1})
Error in gui_mainfcn (line 96)
feval(varargin{:});
Error in regresilinear (line 42)
gui_mainfcn(gui_State, varargin{:});
Error in
@(hObject,eventdata)regresilinear('pushbutton1_Callback',hObject,eventdata,guidata(hObject))
Error while evaluating uicontrol Callback
我发现命令窗口的输出在运行时不同,而不是相同的输入。 当它出错时:
x =
0 1 2 3
何时不是(第一次)
x =
'0 1 2 3'
如果我删除str2num行,它不会给出任何错误。 我希望有人可以帮助解决问题。
答案 0 :(得分:0)
从清晰的工作区开始,
x=get(handles.edit1, 'String');
x=str2num(x);
或更好:
x=str2num(get(handles.edit1, 'String'));
{}
用于访问单元格数组的元素。您可能正在尝试在字符串上使用它,这就是您收到该错误的原因。