我需要matlab來讀取類似命名的csv文件的目錄,例如/path/to/matrix1.csv
,/path/to/matrix2.csv
等,並輸出newmatrix1.csv
,newmatrix2.csv
等,這是我的代碼:MATLAB:遍歷許多文件並給出新文件的唯一名稱
files=dir('all_zrmat/*.csv')
for filenum = 1:length(files)
csv=csvread(files(filenum).name)
ROI=[7 8 9 10 28 29 71 72 73 74]
Whole=files(filenum).name
rwd_net=ones(10,10)
rwd_net=rwd_net*3
for i = 1:10
rwd_net(i,1:4)=Whole(ROI(i),7:10)
rwd_net(i,5:6)=Whole(ROI(i),28:29)
rwd_net(i,7:10)=Whole(ROI(i),71:74)
end
outfile=['rwdnet_' files(filenum).name]
csvwrite('outfile',rwd_net)
end
我嘗試了一行行,以確保它的工作原理,以及該行...
>> outfile = ['rwdnet_' files(filenum).name]
...給我這個瘋狂的長串。
rwdnet_zr_matrix.csvzr_matrix000T.csvzr_matrix001T.csvzr_matrix003.csv...
這些標籤是正確的,但我不知道這是它命名輸出文件,或什麼?我對MATLAB很新,所以可能還有其他的錯誤。任何幫助將不勝感激!乾杯。
(我有rwd_net=rwd_net*3
只是爲了告訴我,該腳本正確輸出值。)
好點啊,謝謝!但我仍然不確定如何正確定義'outfile',因爲'outfile = ['rwdnet_'files(filenum).name]'沒有按照我的意願去做 – 2014-10-30 19:59:21
@uncommon_currency - 你確定嗎?它看起來像'outfile'正確地創建了字符串。它不應該連接。在循環中創建'outfile'後執行此操作:'disp(outfile);'。你看到了什麼?你看到單個文件名,還是他們在你上面的文章中的行爲中連接? – rayryeng 2014-10-30 20:01:58
它仍然只是將文件名連接成一個長字符串。此外,我得到關於第三行的錯誤:'csv = csvread(files(filenum).name);' – 2014-10-30 21:04:32