我需要将实验数据加载到 scicoslab 中,它是一个(相当糟糕设计的)克隆分支版本的scilab,支持图形建模。网上的文档非常贫乏,但它与scilab和octave相似。
我需要处理的数据包含在一定数量的文本文件中:Data_005
,Data_010
,…,Data_100
。每个文件都可以使用loadmatfile
命令的-ascii标志进行加载。
问题在于loadmatfile("foo", "-ascii")
会将文件foo.mat
加载到名为foo
的变量中。为了循环处理数据文件,我需要做类似以下的事情:
for i = [5:5:100]
name = sprintf("Data_%02d", i);
loadmatfile(name, "-ascii");
x = read_var_from_name(name);
do_something(x);
end
我想查找一个内置的read_var_from_name
函数,能够让我通过字符串访问内部符号表。您知道是否存在类似的函数吗?
注:
- 如果文件是ascii格式,则无法覆盖此行为。
- 在这个阶段,我也可以使用Octave(不涉及图形建模),尽管它的行为方式相同。
eval()
被认为是邪恶的),感谢您指出这一点;我不知道这种语法存在! - miken32eval
确实很危险。 - Oli