2017-03-20 4 views
-1

그래서 난 데이터로부터 그래서matlab에 감산 행렬 요소

data2-data1 
data3-data2 
data4-data3 
data5-data4 
data6-data5 
data7-data4 
... 
datan-data(n-1) 

같은 요소 을 감산함으로써 새로운 데이터를받을 필요

1 
3 
4 
3 
5 
2 
5 

=이 행렬을

데이터를 가지고 출력은 이어야합니다. im =

2 
1 
-1 
2 
-3 
3 
012 3,516,

가 난 여전히

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) 

는하지만, 난 당신이 data(i-1) 관련이 얻을 오류가 때 i = 1 정의 할 수 없습니다 상상한다. 루프는 2:cnt이어야합니다.

다른 방법은 data(2:end) - data(1:end-1)

+0

diff를 사용하지 않고도 동일한 답을 얻을 수 있습니까? 그냥 어떤 함수를 사용하지 않으려 고하지만 정확히 내 질문에 실제로 대답 –

+0

나는 내 대답을 편집했습니다. 나는 당신이 겪은 오류가 무엇인지 모릅니다. – busybear

+0

오, 루프를 변경 diff와 동일하게, 정말 고마워요 –