我有以下nX1矩阵,这里n非常大,我想执行以下操作 - (第二项)减去(第一项),即(2.25555-1.45656),(4.74096-2.25555),( 440.0000-4.74096)等等......剩余的' n'行数
1.45656
2.25555
4.74096
440.00000
0.02000
550.7
0.268
我已完成以下操作,但它只提供一个值
[n,m]=size(a)
for i=1,n
delta_g12(i)=(g_12(i+1)-g_12(i));
end
答案 0 :(得分:5)
最简单,类似Matlab的方法是使用名为diff
的内置函数:
delta_g12 = diff(g_12);
但你的方式也是可能的。你的代码几乎是正确的,错误在第一行:
for i=1,n
解释程序忽略,n
,就像你写的那样:
for i=1
相反,您应该使用冒号运算符:
[n,m]=size(a)
for i=1:n
delta_g12(i)=(g_12(i+1)-g_12(i));
end