2

我有下面的 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
4

1 回答 1

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
于 2012-10-01T17:31:29.430 回答