Hi, I'm dealing with a column vector with elements growing from top to bottom: I would like each element following the first to be subtracted from its previous one. Thanks for your suggestions

 Accepted Answer

% a column vector:
x = [1;4;5;7;10]
x = 5×1
1 4 5 7 10
% one way:
diff(x)
ans = 4×1
3 1 2 3
% another way:
x(2:end)-x(1:end-1)
ans = 4×1
3 1 2 3

2 Comments

Thank you very much, i have another question: is there a way to maintain "1" as the first element of the new vector? in this case, I would obtain [1;3;1;2;3] from x = [1;4;5;7;10]
You're welcome!
x = [1;4;5;7;10];
new_x = [x(1); diff(x)]
new_x = 5×1
1 3 1 2 3

Sign in to comment.

More Answers (0)

Categories

Find more on Programming in Help Center and File Exchange

Products

Release

R2022b

Asked:

on 17 Dec 2022

Commented:

on 17 Dec 2022

Community Treasure Hunt

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

Start Hunting!