2013-10-19 34 views
-1

我有一個數據:如何重新排列矩陣中的數據?

data=[1 2 3 4 5 6 7 8]; 

我需要一個新的數據矩陣(4×8),就像這樣:

new_data =[ 1 2 0 0 0 0 0 0 
      0 0 3 4 0 0 0 0 
      0 0 0 0 5 6 0 0 
      0 0 0 0 0 0 7 8 ] 

如何做到這一點使用for循環?任何幫助?

回答

3

無需使用for循環

data = 1:8; 

newdata = [reshape(data,2,4); zeros(8,4)]; 
newdata = reshape(newdata(1:32), 8, 4)'; 

下面是不使用一個循環,如果你想讓它

clear('newdata'); 

for ii = 1:4 
    index = 2*(ii-1)+1:2*ii; 
    newdata(ii,index) = data(index); 
end 
的解決方案