Matlab 如何在GUI指南中保存编辑框数据?
我正在制作一个GUI,其中有一个多行编辑框 用户必须一次在此编辑框中输入3个x-y坐标:Matlab 如何在GUI指南中保存编辑框数据?,matlab,user-interface,matlab-guide,editbox,Matlab,User Interface,Matlab Guide,Editbox,我正在制作一个GUI,其中有一个多行编辑框 用户必须一次在此编辑框中输入3个x-y坐标: [345.567 123.123] [390.567 178.098] [378.000 125.987] 通过单击按钮,我希望这些坐标以矩阵的形式在Matlab GUI工作区中“保存”,并通过单击另一个按钮,从工作区中“重新加载”,以便将来可以使用它们 我该怎么做 有谁能指导我吗?谢谢你的帮助 有许多方法可以引导生成的GUI。IMO最简单的方法是使用guidata 例如,在“保存”按钮回调中,您可以访
[345.567 123.123]
[390.567 178.098]
[378.000 125.987]
通过单击按钮,我希望这些坐标以矩阵的形式在Matlab GUI工作区中“保存”,并通过单击另一个按钮,从工作区中“重新加载”,以便将来可以使用它们
我该怎么做
有谁能指导我吗?谢谢你的帮助 有许多方法可以引导生成的GUI。IMO最简单的方法是使用
guidata
例如,在“保存”按钮回调中,您可以访问编辑框字符串内容,将其解析为数字矩阵,并将其保存在句柄中
function pushbuttonSave_Callback(hObject, eventdata, handles)
handles.M = str2num(get(handles.edit1, 'String'));
guidata(hObject, handles);
end
接下来在“加载”按钮中,我们做相反的操作,从句柄
结构加载矩阵,将其转换为字符串,并设置编辑框内容:
function pushbuttonLoad_Callback(hObject, eventdata, handles)
s = num2str(handles.M, '%.3f %.3f\n');
set(handles.edit1, 'String',s)
end
如果要将数据导出到“工作区”或从“工作区”导入数据,可以使用ASSIGNIN/EVALIN功能:
assignin('base','M',handles.M);
及
有许多方法可以引导生成的GUI。IMO最简单的方法是使用guidata
例如,在“保存”按钮回调中,您可以访问编辑框字符串内容,将其解析为数字矩阵,并将其保存在句柄中
function pushbuttonSave_Callback(hObject, eventdata, handles)
handles.M = str2num(get(handles.edit1, 'String'));
guidata(hObject, handles);
end
接下来在“加载”按钮中,我们做相反的操作,从句柄
结构加载矩阵,将其转换为字符串,并设置编辑框内容:
function pushbuttonLoad_Callback(hObject, eventdata, handles)
s = num2str(handles.M, '%.3f %.3f\n');
set(handles.edit1, 'String',s)
end
如果要将数据导出到“工作区”或从“工作区”导入数据,可以使用ASSIGNIN/EVALIN功能:
assignin('base','M',handles.M);
及
要保存数据,请执行以下操作:
setappdata(h,'name',value)
要加载数据,请执行以下操作:
value = getappdata(h,'name')
values = getappdata(h)
其中h是存储数据的句柄,name是数据的变量,value是实际数据。要保存数据:
setappdata(h,'name',value)
要加载数据,请执行以下操作:
value = getappdata(h,'name')
values = getappdata(h)
其中h是存储数据的句柄,name是数据的变量,value是实际数据。感谢Amro的帮助,但我所做的是:function savepoint\u Callback(hObject,eventdata,handles)user\u entry=getappdata(handles.edit1,'yourvariant');v=get(handles.edit1,'String');矩阵=str2num(v);赋值('base','a',矩阵)代码>此变量“a”以矩阵形式存储在工作区中,如:a=0.3170 0.1272 0.2849 0.2467 0.3419 0.3609,但我无法对“a”执行更多操作。我如何进一步使用????我怎么做w1=a(1,2)+a(2,2)???请帮帮我!感谢Amro的帮助,但我所做的是:function savepoint_Callback(hObject、eventdata、handles)user_entry=getappdata(handles.edit1,“yourVariable”);v=get(handles.edit1,'String');矩阵=str2num(v);赋值('base','a',矩阵)代码>此变量“a”以矩阵形式存储在工作区中,如:a=0.3170 0.1272 0.2849 0.2467 0.3419 0.3609,但我无法对“a”执行更多操作。我如何进一步使用????我怎么做w1=a(1,2)+a(2,2)???请帮帮我!苏尔蒂奥!我的变量“a”存储在工作区中。但是我不能对这个变量执行进一步的操作。我如何才能做到w1=a(1,2)+a(2,2)??这听起来更像是一个范围问题,但你现在似乎在问一个不同的问题?如果是这样的话,你应该开始一个新的话题,把注意力集中在你原来的问题上!我的变量“a”存储在工作区中。但是我不能对这个变量执行进一步的操作。我如何才能做到w1=a(1,2)+a(2,2)??这听起来更像是一个范围问题,但你现在似乎在问一个不同的问题?如果是这样的话,你应该开始一个新的话题,把注意力集中在你原来的问题上。