2013-05-11 77 views
0

我有一個反覆的過程,其中,從每一次迭代的結果放置海誓山盟旁邊的結果矩陣列之間的差異,像這樣:發現沒有循環

res = 
    43.7826 38.8460 38.6889 38.6912 38.6915 
    107.0735 98.5577 98.1212 98.1170 98.1175 
-134.6218 -131.6938 -131.5378 -131.5352 -131.5352 
-105.9498 -103.1403 -102.9195 -102.9139 -102.9139 

我想要做的就是創建一個顯示每列之間的差異的矩陣,以及顯示從一列到下一列的百分比變化的一個矩陣。

這顯然是使用循環很簡單,但有沒有一個聰明的方法來做到這一點沒有循環(也許使用一些內置的Matlab函數)?

謝謝。

回答

2

命令的diff(...)performes的區別:

diff_res = diff(res,1,2) 

在這種情況下在第二維(列)的第一階差。 可以計算百分比之後:

per_res = diff_res(:,1:4)./res(:,1:4).*100