Subtraction of elements in successive rows

2 vues (au cours des 30 derniers jours)
Shreya George
Shreya George le 1 Fév 2021
Commenté : Shreya George le 2 Fév 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]

Réponse acceptée

William
William le 1 Fév 2021
The easy way to do this is
A = diff(a);
  2 commentaires
Stephen23
Stephen23 le 1 Fév 2021
Even better, specify the dimension:
b = diff(a,1,1)
ans = 2×2
1 2 1 2
Shreya George
Shreya George le 2 Fév 2021
Thanks

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Encryption / Cryptography dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by