2017-03-20 246 views
-1

所以我有此矩阵Matlab的减去矩阵元素

数据=

1 
3 
4 
3 
5 
2 
5 

我需要通过减去元件 这样

data2-data1 
data3-data2 
data4-data3 
data5-data4 
data6-data5 
data7-data4 
... 
datan-data(n-1) 
从该数据

因此要获得的新数据的输出应该是 im =

2 
1 
-1 
2 
-3 
3 

我仍然试图操纵这个代码,但得到了一个错误

clc 
data=[1;3;4;3;5;2;5] 
cnt=size(data,1) 

for i=1:cnt; 
    im=(data(i)-(data(i-1))); 
end 
im 

回答

0

diff你想要做什么。

diff(data) 

,但如果你想继续你的方法,我想,当i = 1你是关系到data(i-1)错误不能被定义。你的循环应该是2:cnt

另一种方法是data(2:end) - data(1:end-1)

+0

您可以在不使用diff的情况下得到相同的答案吗?只是试图不使用任何功能,但确切地回答我的问题实际上 –

+0

我编辑了我的答案。虽然我不确定你遇到的错误是什么。 – busybear

+0

哦改变循环做相同的差异,非常感谢你 –