Mean of array columns with condition
2 views (last 30 days)
Show older comments
I have an array of which I need the mean of each column (X). Additionally, I have a logical array of which rows meet a condition and should be included in the mean (Y).
Naturally, the mean function in MATLAB calculates each column mean, but when I insert the logical vector for the row selection, the mean is calculated for the whole array. How do I fix this for computing the mean of each column in X for the valid indices of Y?
When entering
means_active = mean(X(Y), :);
I get the error 'Reference to a cleared variable mean.', though I don't want to use any variable 'mean' but the built-in function 'mean'.
3 Comments
Answers (1)
Philippe Lebel
on 18 Nov 2019
I tested my solution with these matrices:
a = rand(6,3)
B=[1;0;1;1;0;1];
means_active = mean(a(logical(B)),2);
seems to work for me. (i was forced to cast B as logical because i manually declared the values inside the list as integers)
0 Comments
See Also
Categories
Find more on Logical in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!