根据用户输入更改assignin的'Var'功能

时间:2014-02-13 16:09:41

标签: matlab

我正在尝试在MatLab中编写一个GUI,使我可以获取正在输出的数据并将其移动到工作区。 我目前正在通过赋值功能实现这一目标,但我想要发生的是变量名称的变化取决于用户在编辑框中输入的内容

这是我目前的剧本:

function Save_Callback(hObject, eventdata, handles, vavargin)

a=str2num(get(handles.VariableA,'String'));
b=str2num(get(handles.VariableB,'String'));    
c=str2num(get(handles.VariableC,'String'));    
d=str2num(get(handles.VariableD,'String'));

regionname=(get(handles.RegionName,'String'));

assignin('base','regionname' ,[a;b;c;d]);

每次按下保存按钮时,只需将其命名为区域名称,而不是抓取用户输入的文本。

有人有什么想法吗?由于我是MatLab的新手,请尽量使解释尽可能简单。

1 个答案:

答案 0 :(得分:2)

运行assignin命令时,请忽略regionname周围的引号,如下所示。然后它将使用里面的变量regionname作为新的变量名。

assignin('base', regionname ,[a;b;c;d]);