我有一个脚本可以打开文件夹并对存在的数据进行一些处理。比如,有一个文件“XYZ.tif”。
在这个tif文件中,有两组数据集,它们在工作区中显示为
data.ch1eXYZ
和
data.ch3eXYZ
如果我想继续第二套,我可以使用 A = data.ch3eXYZ
但是,XYZ通常更长并且每个文件都不同,而data.ch3e是一致的。
因此我试过了 A = strcat的( 'data.ch3e', 'origfilename'); 其中origfilename当然是XYZ,它之前已经(自动)被提取过了。
但是,这给了我一个字符串A(因为我几乎输入了
)A='data.ch3eXYZ'
而不是data.ch3eXYZ实际上的矩阵。 我认为这只是(),[]或{}的问题,但我似乎无法弄明白。
提前致谢!
答案 0 :(得分:3)
如果你知道字符串,那么dynamic field references应该对你有所帮助,远远超过eval
来自链接博客帖子的稍微修改过的示例:
fldnm = 'fred';
s.fred = 18;
y = s.(fldnm)
返回:
y =
18
所以对你的情况来说:
test = data.(['ch3e' origfilename]);
应该足够了
修改:链接到the documentation