Compute difference between rows

I have 4 x 3 matrix and the three columns represent age, height and weight. How do I calculate the magnitude of difference between each row; starting with set (row) 1 and 2, set 1 and 3, and set 1 and set 4. Then, I repeat the same to find the difference between set 2 and 3, and set 2 and set 4, up until set 3 and 4. The difference in this case is defined as summation of max(A(j), B(j)) - min (A(j), B(j)).

 Accepted Answer

I do not understand where A and B come from but this gives the differences between all combinations of 2 rows of the matrix M.
M = randi(100,4,3) % example data
r = nchoosek(1:size(M,1), 2)
D = M(r(:,1),:) - M(r(:,2),:)

2 Comments

wow, that's impressive! thanks!
Nice Solution

Sign in to comment.

More Answers (0)

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Asked:

on 25 Feb 2019

Commented:

on 19 Oct 2022

Community Treasure Hunt

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

Start Hunting!