matlab工作区访问具有相似名称的多个变量
我有一个包含数据的文件列表matlab工作区访问具有相似名称的多个变量,matlab,Matlab,我有一个包含数据的文件列表 foo1.txt foo2.txt ... fooN.txt 我提取这些文件中的数据 foo1 foo2 ... fooN 我现在想把这些变量传递给一个函数 for i = 1:N % This is what I want: asdf = fooi function(asdf) end 我试过sprintf,而且 asdf = ['foo' num2
foo1.txt
foo2.txt
...
fooN.txt
我提取这些文件中的数据
foo1
foo2
...
fooN
我现在想把这些变量传递给一个函数
for i = 1:N
% This is what I want: asdf = fooi
function(asdf)
end
我试过sprintf,而且
asdf = ['foo' num2str(i)]
但是这些使变量asdf成为char,而不是像fooi一样的double
提前谢谢
-gsandhu混合溶液
asdf = eval( sprintf('foo%d',i) );
但是,这通常不是一个好的做法。您应该做的是将文件读入单元格元素
foo{1}
的内容为foo1.txt
,foo{2}
的内容为foo2.txt
,依此类推。这样,您只需访问foo{i}
即可获得所需的数据
PS,这是最好的。您可以使用函数
eval(['foo'num2str(i)]
1。)感谢您提供的解决方案。2。)更重要的是,感谢您提供的细胞阵列建议。@gsandhu我很高兴能为您提供帮助。如果这个解决方案对你有用,请考虑“接受”,点击它旁边的“V”图标。