我需要将实验数据加载到 scicoslab ,一个(设计非常糟糕的) clone 的 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
,它允许我按字符串访问内部符号表。
你知道是否存在类似的功能吗?
备注:
答案 0 :(得分:11)
>> foo = 3.14; name = 'foo'; eval(name)
foo =
3.1400
以上在MATLAB中有效,Scilab的文档说它也有eval
函数。但不确定我是否理解正确。
答案 1 :(得分:9)
@ arne.b有一个很好的答案。
在你的情况下,你也可以在matlab中做到这一点:
a=load('filename.mat')
x=a.('variable_name')