Accessing the data in MATRIX based on condition

2 views (last 30 days)
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())

Categories

Find more on Resizing and Reshaping Matrices in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!