2012-03-27 79 views
0

我有一個有n行的列矩陣。我想要區別第2行和第1行,然後第3行從第2行,依此類推。我應該有一個n-1行的新矩陣。我正在使用Matlab。在Matlab中減去n行的相同coluomn中的值

513083 
    513386 
    513662 
    513939 
    514213 
    514471 
    514727 
    514979 
    515225 

我試過這個:for x = 1:(numel(maxtab(:,1))-1) difference = maxtab(x+1,1) - maxtab(x,1); end但我沒有得到矩陣。我想避免循環,因爲它們減慢了過程。有什麼建議麼。我試圖擺脫Excel,因爲它對行的限制。

回答

1

使用diff()

+0

Thansk - 我想那裏應該有一個內置函數 – razshan 2012-03-27 23:01:00

1

我不是你要找的內容完全清楚,但它聽起來像是diff可能做的伎倆:

mat = [513083 
    513386 
    513662 
    513939 
    514213 
    514471 
    514727 
    514979 
    515225]; 
K>> diff(mat) 

ans = 

    303 
    276 
    277 
    274 
    258 
    256 
    252 
    246 
0

雖然diff是你趙喜林選擇這個任務,你也可以做到這一點「手動「

>> difference = maxtab(2:end) - maxtab(1:end-1);