2012-05-23 43 views
0

我是MATLAB的初學者。我需要創建一個循環,它將從矩陣中選擇許多滾動連續行,並生成一個新的矩陣,以列的形式顯示所選行的元素。例如:循環選擇矩陣的連續滾動行

一個=

1  2  3 
4  5  6 
7  8  9 
10 11 12 

循環= 2,這意味着選擇的2個consequtive行的軋製,行1 & 2行2 & 3行3 & 4)

預期結果將是如下矩陣: b =選定行的

1  4  7 
2  5  8 
3  6  9 
4  7 10 
5  8 11 
6  9 12 

元件應被放置在新的基準列中。

無論如何,我可以做到這一點?

感謝

回答

0

這取決於你想如何製作它。在你的問題中你有很多不言自明的假設,「滾動」是一個含糊的詞。針對您的特殊情況下,輸入矩陣A,「循環」 = N:

function B = rollup(A,n) 
B = []; 
for i = 1:n 
    Btemp = transpose(A(i:i+2,:)); 
    B = [B;Btemp]; 
end 

注意,這樣只會跟你,你有三列非常特殊的情況下工作,你不能有N> 1- 2其中l是行數。

+0

太棒了!非常感謝你 – mario