matlab - 根据用户输入更改 assignin 的 'Var' 函数

标签 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 的新手,请尽量使解释尽可能简单。

最佳答案

当您运行 assignin 命令时,去掉 regionname 两边的引号,如下所示。然后它将使用变量regionname 的值作为新的变量名。

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

关于matlab - 根据用户输入更改 assignin 的 'Var' 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21759473/

相关文章:

arrays - 为数值运行分配顺序计数

matlab - 如何反转 `imagesc()`函数生成的MatLab图形的Y轴方向

matlab - 拼接 matlab 向量

matlab - 如何在没有 'Output argument "varargout“未分配”错误的情况下终止函数?

java - MATLAB : access uigetdir's internal java methods

matlab - 在 matlab 中更改过滤器(B,A,X)并出现内存不足错误

algorithm - 排列的索引

c - 如何在带有 emxArray 参数的 C 程序中使用 MATLAB Coder codegen 创建的 C 库?

git - 在 git 中切换分支后,MATLAB 无法识别“.m”文件更改

c++ - 从 MATLAB 生成代码后,在 C++ 中将 vector<> 转换为 emxArray_real_T