我有一个有n行的列矩阵。我想要第2行和第1行之间的区别,然后第2行从第2行开始,依此类推。我应该有一个n-1行的新矩阵。我正在使用Matlab。
513083
513386
513662
513939
514213
514471
514727
514979
515225
我试过这个:for x = 1:(numel(maxtab(:,1))-1) difference = maxtab(x+1,1) - maxtab(x,1); end
但是我没有得到矩阵。我想避免for循环,因为它们会减慢进程。有什么建议。我试图取消Excel因为它对行的限制。
答案 0 :(得分:1)
使用diff()
。
答案 1 :(得分:1)
我并不完全清楚你在寻找什么,但听起来像diff
可能会有所作为:
mat = [513083
513386
513662
513939
514213
514471
514727
514979
515225];
K>> diff(mat)
ans =
303
276
277
274
258
256
252
246
答案 2 :(得分:0)
虽然diff
是您完成此任务的自然选择,但您也可以“手动”
>> difference = maxtab(2:end) - maxtab(1:end-1);