calculation of successive diffrence
    7 views (last 30 days)
  
       Show older comments
    
Hi all!
I have a problem with this : I have an array:
 % A=[a1 a2 a3 a4 ......an]
i want to calculate succesivelly the diffrenece:
 % B=[a2-a1 a3-a2 a4-a3........] but with this condition:
if for exemple a(i)-a(i-1)==2, the diffrence a(i+1)-a(i-1) schould be calculated and the diffrence a(i)-a(i-1)==2 should be eleminated from the Array B.
i wish you could help , Thank you
1 Comment
  the cyclist
      
      
 on 27 Feb 2014
				
      Edited: the cyclist
      
      
 on 27 Feb 2014
  
			Often in these cases, a small (but complete) example helps to illustrate what you mean. For example, what should the output be if
A = [2 3 5 7 11 13 17 19]
?
The way I am interpreting your question must be wrong, because I would calculate every difference, but then remove every difference from B, leaving an empty matrix.
Accepted Answer
  Andrei Bobrov
      
      
 on 27 Feb 2014
        B = diff(A);
B1 = conv(A,[1 0 -1],'valid');
idx = find(B == 2);
ii = idx <= numel(B1);
i2 = idx(ii);
B(i2) = B1(i2);
0 Comments
More Answers (1)
See Also
Categories
				Find more on Shifting and Sorting Matrices in Help Center and File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

