我有一個具有+ 16M數據的向量,我必須將它轉換爲每個401x401元素的101個矩陣。我知道如何獨立創建這樣的矩陣(爲它們中的每一個創建一個循環),但我認爲在使用兩個或多個循環時必須有一些方法來創建它們。問題是,我不知道如何做到這一點。 這是我到目前爲止已經試過:Matlab - 通過循環生成多個矩陣
data=load('file.dat');%This file contains 3 columns of data, I only need the first one
var=data(:,1);
p=401;%Size of the matrices
for n=0:400
mat1(n+1,:)=var(p*n+1:p*(n+1),:);
end
此代碼將創建第一個401x401矩陣。通過改變索引,我可以(單獨)創建其餘的,但我更願意添加另一個循環(或多個循環)來自動創建它們,而不是一次重複這個代碼。
您是否想過使用'reshape'(http://de.mathworks.com/help/matlab/ref/reshape.html)將矢量轉換爲401 x 401 x 101的形式? – fgoettel
這將是一個很好的解決方案,謝謝!但是,我不知道如何繪製這樣一個變量! – Xay
'n = 4; l = 8; vec = 1:n * n * l; mat = reshape(vec,n,n,l); ' 用你的數據替換vec,n用401和l用101,看看會發生什麼;-) – fgoettel