我在Matlab中很新,如果能幫助我解決以下問題,我將不勝感激。從包含多個矩陣的.mat文件v7.3中加載矩陣的特定列使用for循環
我有具有26點矩陣與越來越多的一個.MAT文件7.3版即MW1,MW2,MW3 ..... Mw26
我想從每個矩陣只裝入第一列分別做一些計算,然後使用for循環轉到下一個計算。
我知道有使用matfile的選項,然後加載,我想也就是列:
firstColB = example.B(:,1); (matlab documentation)
,但我不知道該怎麼做,在一個循環...
例如:
首先,我有一個帶有26個矩陣5000x4的.mat文件。
然後我想只加載矩陣的第一列Ñ(N = 26)
然後執行下列
ao=0;
a=[2,4,6,8,10,12,14,16,18,20]; %segments of the tube in cm
for j=1:10;
temp11=find(firstColumn>ao & firstColumn<=a(j)); %firstColumn of the *n*matrix
temp1=firstColumn(temp11,:);
eval(sprintf('A%d = temp1', j));
ao=a(j);
end
我的問題:
此循環將生成10個新的矩陣A1,A2,A3 ...... A10,但不指示對應於第一個矩陣(即Mw1)。它應該像A11,A12,A13 ... A110。
...當我完成這個循環時,我想自動轉到下一個矩陣,然後重複相同的操作,但是A矩陣應該像A21,A22,A23 .... A210,因爲這些新的矩陣對應到第二個矩陣等
我希望它使我想要做的事!
喜丹尼爾所需的零部件,謝謝vewry多爲你的答案。請允許我多解釋一點:我在開始時已經有26個.txt數據文件,它們的大小不一樣(所以我錯誤地提到所有矩陣都是5000x4 ...列數總是相同的但不同大小的行)...然後我做一些計算,我的最終矩陣是M = [taa,xaa,yaa,zaa]; eval(sprintf('Mw%d = M',i)); ('E:\ PEPT \ PEPT數據文件爲Matlab \ water \ rename_water \ Mwppdata.mat','Mw *','-v7.3');那麼,我如何分別在第二個循環中引入每個矩陣的每一列? –