2016-03-18 25 views
0

我從一個目錄,其中包含4X4矩陣與下面的代碼加載倍頻我的.txt文件,直接在一個變量(rotLM):字符串連接到迭代變量 - MATLAB

for i= 1:5 
    file_rotLM= strcat('C:\Users\pc\Desktop\matrices\rotLM',int2str (i),'.txt'); 
    rotLM= strcat('rotLM',int2str(i)) 
    rotLM= load(file_rotLM); 
    end 

我想要什麼:變量名稱「rotLM」應該在末尾包含連接字符串。如:「rotLM1,rotLM2 ... rotLM5」,每個變量應包含相應的矩陣參數。 如果我運行上面的代碼我得到的只有:

rotLM = rotLM1 
rotLM = rotLM2 
rotLM = rotLM3 
rotLM = rotLM4 
rotLM = rotLM5 

如果我在命令窗口提示:rotLM它給我的只有最後一次讀取的矩陣,但如果我輸入例如rotLM1我收到錯誤「'rotLM1'undefined near line 1 column 1」

這裏我的錯誤是什麼? 謝謝!

回答

1

不要把索引放進你的變量名中,假設你在第一個地方完成了代碼,那麼這個代碼很可怕。例如,沒有這種變量的迭代器。而是使用單元陣列:

n=5 
rotLM=cell(n,1); 
for ix= 1:5 
    file_rotLM= strcat('C:\Users\pc\Desktop\matrices\rotLM',int2str(ix),'.txt'); 
    rotLM{ix}= load(file_rotLM); 
end