我有一个迭代过程的结果,每次迭代的结果都放在彼此旁边,如下所示:
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函数)?
感谢。
答案 0 :(得分:2)
命令diff(...)执行差异:
diff_res = diff(res,1,2)
在这种情况下,第二个维度(列)中第一个顺序的差异。 您可以计算百分比后:
per_res = diff_res(:,1:4)./res(:,1:4).*100