我试图导入多个数据文件,称为1min1,1min2,1min3,1min4等。他们将进行一些处理(减去某些列,乘以某些值等)和最终结果文件是一列。我希望matlab将每个这些列保存在一个与文件名相同的变量中。 因此,在进行多个文件1min1,1min2,1min3,1min4等时,出现几个同名的变量,但只有一个列/变量。基于文件名的变量
我尝试使用此:
i=20; %nr of files
name='1min'; %basic filename
norm=8; %normalisation factor
for k=1:i
fileName = strcat(name,num2str(k));
A= load(fileName);
[thisshouldbethesamefilename]=(A(:,7)-A(:,6))/A(1,12)*norm;
end
最后,我想使这个功能,我只输入文件名,文件和归一化因子的NR,和它给了我所得到的列作为单独的变量。我知道我可以将所有列放在同一个文件中(例如使用B(:,1),B(:,2)等),但我想看到原始文件名,所以我知道数据的来源。 我试过genvarname,eval和类似的东西,但没有成功的几件事情。可能是简单的东西,帮助表示赞赏!
可能我不明白为什么你不能做到这一点与'eval',但是你为什么要_want_?改为使用单元格数组,并存储文件名以供参考。可能使用'containers.Map'类,如果你想花哨,并允许查找基于文件名。 – chappjc
我同意,它应该是可能与eval,该功能总是困惑了我很多,我似乎从来没有能够得到它的工作:\ 至于为什么我想要它,如果我使用单元格数组并存储文件名字作为参考,我仍然必须查找这些东西。 (这是懒惰的,还是不切实际的?)如果我知道我必须绘制1min5度量的数据,我只想使用变量1min5 :) – SvB