Calculate difference between successive vector values.

Hi all, Hopefully a straightforward question, but one that I'm struggling with. I have a vector and want to create a new vector whose values are equal to the difference between successive values from the previous vector. e.g A = [1,2,3,3,0] want B = [1,1,0,-3]
What is the simplest way of doing this? Many thanks in advance. Will

 Akzeptierte Antwort

Azzi Abdelmalek
Azzi Abdelmalek am 21 Aug. 2012
Bearbeitet: Azzi Abdelmalek am 21 Aug. 2012

19 Stimmen

A=[1,2,3,3,0]
B=diff(A)

5 Kommentare

Jan
Jan am 21 Aug. 2012
Bearbeitet: Jan am 21 Aug. 2012
This is much simpler and faster than A(2:end) - A(1:end-1). +1
Brilliant, thank you!
Chloe
Chloe am 5 Jan. 2023
Is there any way to solve this problem using colon operator? Thanks!
The method given in Jan's comment above uses the colon operator:
A = [1,2,3,3,0];
B = A(2:end) - A(1:end-1)
Dav
Dav am 10 Aug. 2023
Was looking for a function that did this, thanks!!!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Produkte

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by