matlab在edit里面输入的字符串型数值如何转换成数组或者矩阵?

在利用matlab做规划求解。各部分系数需要自定义初始化,在edit text中进行输入(图2)。
要做的是在回调函数中讲edit中的值赋给图3所示的c、A、b等矩阵进行函数调用。
求问如何写代码。(附上我的错误代码图1)


系统提示错误如上图
最新回答
一朵有毒の花

2024-11-23 10:49:28

matlab的GUI中所有的控件的句柄都在handles结构体中,你直接打当然找不到了。获取句柄的方式如下:

mbfcxs1 =str2num( get(handles.mbfcxs1,'String'))

比如我下面这个拟合函数的GUI界面回调函数可以这样写

function start_Callback(hObject, eventdata, handles)
% hObject    handle to start (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
try
    delete(allchild(handles.axes1));
end
x1=str2num(get(handles.edit_x,'string'));
y1=str2num(get(handles.edit_y,'string'));
jc=str2num(get(handles.edit_jc,'string'));
rst=polyfit(x1,y1,jc(1));
as=poly2sym(rst)
xmax=max(x1);
xmin=min(x1);
xnum=2*length(x1)+100;
x2=linspace(xmin,xmax,xnum);
y2=polyval(rst,x2);
plot(x1,y1,'o',x2,y2);
set(handles.edit_rst,'string',num2str(rst));