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 函数)?

谢谢。

4

1 回答 1

2

命令 diff(...) 执行不同之处:

diff_res = diff(res,1,2)

在这种情况下,第二维(列)中的一阶差异。在您可以计算百分比之后:

per_res = diff_res(:,1:4)./res(:,1:4).*100
于 2013-05-11T13:40:33.267 回答