MATLAB - 获取当前工作空间

时间:2015-12-02 13:00:35

标签: matlab workspace

我想做assignin(ws, 'var', val)的函数内部,但此时我不知道工作区ws,它当前显示在matlab窗口内的工作区窗口中。我正在寻找一个声明,在上面的声明中替换了我的ws

可能是一个简单且常见的问题,但我没有找到答案。

2 个答案:

答案 0 :(得分:5)

您似乎想要的是在当前工作区中执行assignin。但这在MATLAB中是微不足道的,因为它是基本的任务:

var = val;

通过ws参数的其他两个可访问工作区是:

  • 'base',这是基础工作区(所有脚本都会在其中创建变量);

  • 'caller',它是调用函数的工作空间(每次输入函数时都会创建此工作空间,退出函数时会被销毁),或者从脚本调用时创建全局工作空间。

答案 1 :(得分:-1)

我使用了以下解决方法:

function main()
...
assignhere(name,value)
...
return

function assignhere(varname,varvalue)
assignin('caller',varname,varvalue);
return

尽管我希望直接访问当前工作区