将NX1矩阵的一个元素与另一个元素相减

rct*_*cty 2 arrays matlab subtraction

我有以下NX1矩阵,在这里,n非常大,我想执行以下操作 - (第2期)减(第一​​项),即(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
Run Code Online (Sandbox Code Playgroud)

And*_*ein 5

最简单,类似Matlab的方法是使用一个名为的内置函数diff:

 delta_g12 = diff(g_12);
Run Code Online (Sandbox Code Playgroud)

但你的方式也是可能的.您的代码几乎是正确的,错误在第一行:

  for i=1,n
Run Code Online (Sandbox Code Playgroud)

解释器忽略了,n,并且就像你写的那样:

  for i=1
Run Code Online (Sandbox Code Playgroud)

相反,您应该使用冒号运算符:

[n,m]=size(a)
for i=1:n
    delta_g12(i)=(g_12(i+1)-g_12(i));
end
Run Code Online (Sandbox Code Playgroud)