Row subtraction in matrix

2 views (last 30 days)
Ian Loveless
Ian Loveless on 23 May 2018
Commented: Ian Loveless on 25 May 2018
I am trying to subtract each row in a matrix from the row after it. The function diff does x_{i} - x_{i+1}, I need to do x_{i}-x_{i-1}. I cannot find anything that will tell me how to do this. I am sure it is something simple that I am just overlooking.
  3 Comments
Stephen23
Stephen23 on 23 May 2018
The diff help states that for a matrix it returns
[X(2,:)-X(1,:); X(3,:)-X(2,:); ... X(p,:)-X(p-1,:)]
which seems to match what you asked for.
Ian Loveless
Ian Loveless on 23 May 2018
Then I mistyped. Is there a way I can do row{i}-row{i+1}?

Sign in to comment.

Answers (1)

James Tursa
James Tursa on 23 May 2018
Edited: James Tursa on 23 May 2018
Just negate the usual diff() result. E.g.,
x = your matrix
result = -diff(x);
  6 Comments
Stephen23
Stephen23 on 24 May 2018
Edited: Stephen23 on 24 May 2018
"It is the same as my diff() matrix, except each value has "-" in front of it."
That would be exactly correct then. The only difference between these
row(i)-row(i+1)
row(i)-row(i-1)
will be the sign. So if all were positive in the first case, then in the second case all would be negative.
Ian Loveless
Ian Loveless on 25 May 2018
You are all correct, I apologize for my ignorance. I was looking at spacings instead of differences. Thank you for your help and patience.

Sign in to comment.

Tags

Products


Release

R2018a

Community Treasure Hunt

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

Start Hunting!