matlab - 使用 matlabs 保存函数

标签 matlab scope save workspace

是否可以在函数内部使用 Matlab save 命令来存储工作区变量?

考虑以下场景:我在 Matlab 工作区中有一堆变量,并且想要在 .mat 文件中以“a”和“b”开头的所有变量。这当然有效:

save('test.mat','a*','b*')

但我想要一个可变的文件名。我写的函数:

function save_with_name(name)
save(name,'a*','b*')

不起作用,因为 save_with_name 看不到工作区变量。有我可以使用的解决方案吗?

最佳答案

您需要在基础工作区中评估保存

function save_with_name(name)
expression = ['save(''', name, ''',''a*'',''b*'')'];
evalin('base',expression);

表达式中的双引号 ('') 是允许引用字符本身 (') 所必需的。 因此,您正在寻找的命令是:evalin

关于matlab - 使用 matlabs 保存函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8152740/

相关文章:

algorithm - DAG 中所有路径的边的乘积之和

scope - Kotlin - 限制扩展方法范围

ruby-on-rails - 如何在不导致 rails 2.3 中的递归的情况下更新 after_save 中的属性?

快速视频到文档目录

java - 如何将 HashMap 保存到 Android 中的文件?

memory-management - Matlab:避免在 mex 中分配内存

arrays - 有效过滤 MATLAB 结构数组?

matlab - 确定法线已知的两个点是否面对面(matlab)

python - 如何在 Python 中更改来自不同 .py 文件的变量值

Scala:导入如何防止找到隐式值?