Subtraction of elements in successive rows

9 Ansichten (letzte 30 Tage)
Shreya George
Shreya George am 1 Feb. 2021
Kommentiert: Shreya George am 2 Feb. 2021
I have a matrix 'a'. I need an output matrix 'A' with each row equal to the difference between successive rows of the parent matrix 'a'. Is there a way to do this? I tried coding it in the following manner but keep getting an error message 'Unable to perform assignment because the left and right sides have a different number of elements.'
a=[1 2;2 4;3 6];
A=zeros(2,2);
for i=1:2
A(i)=(a(i+1,:)-a(i,:));
end
The expected result is A=[1 2; 1 2]

Akzeptierte Antwort

William
William am 1 Feb. 2021
The easy way to do this is
A = diff(a);
  2 Kommentare
Stephen23
Stephen23 am 1 Feb. 2021
Even better, specify the dimension:
b = diff(a,1,1)
ans = 2×2
1 2 1 2
Shreya George
Shreya George am 2 Feb. 2021
Thanks

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Elementary Math finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by