我一直在努力編寫讀取.txt數據的代碼。我在一個通過'img4200.txt'所有文件名都是'img0001.txt'的目錄中。每個文件都是相同大小(480x640)的二維數組,最終我想填充一個3-D數據立方體,但首先我需要能夠讀取所有數據。範圍檢查失敗在Matlab中加載.txt文件
for i = 1:4200
i
if i<10
A = csvread(['img000',num2str(i),'.txt']);
elseif 10<=i<100
A = csvread(['img00',num2str(i),'.txt']); ***
elseif 100<=i<1000
A = csvread(['img0',num2str(i),'.txt']);
else i>=1000
A = csvread(['img',num2str(i),'.txt']);
end
end
的代碼打印i=100
,然後給了我在我加***行未找到文件的錯誤消息。該代碼正在尋找不存在的文件img00100.txt
,但我不知道它爲什麼這樣做。
我一直在玩編寫if,elseif,語句和大於和小於運算符的不同版本。我也嘗試使用eval和加載命令。
謝謝。
我敢肯定有周圍幾個重複的,但嘗試用[格式規範]玩耍(https://www.mathworks.com/help/matlab/ref/num2str.html#inputarg_formatSpec)參數。具體來說,'num2str(i,'%04d')'。那麼你不需要'if/else'。 – beaker