Accessing the data in MATRIX based on condition

1 view (last 30 days)
Najam us Saqib Fraz
Najam us Saqib Fraz on 8 Oct 2020
Edited: Walter Roberson on 8 Oct 2020
I have a 9000 by one Matrix.As an Example considering the following
X Y Z P
5 5 5 900
5 5 10 800
5 5 15 1200
5 10 5 300
5 10 10 560
5 10 15 900
I want compute average P at each Y, that means all values of P when Y is 5.Similary when y is 10....It is just a example.Next x goes to 10 and same varies

Answers (1)

Walter Roberson
Walter Roberson on 8 Oct 2020
Edited: Walter Roberson on 8 Oct 2020
findgroups() and then splitapply()
However, if your array is as regular as it looks, you should probably just reshape and mean() along the appropriate plane (you might need a permute() in there, and maybe two rounds of reshape())

Community Treasure Hunt

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

Start Hunting!

Translated by