我試圖導入多個數據文件,稱爲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