MATLAB Answers

Find which matrix row contains average minimum value

1 view (last 30 days)
Lumbersnack
Lumbersnack on 21 Sep 2021
Commented: Star Strider on 21 Sep 2021
I have DNI data stored in a 288 x 365 matrix.
I need to find which row contains the average minimum value (all collumns).
Thanks
  2 Comments
Lumbersnack
Lumbersnack on 21 Sep 2021
Hello, sure. sorry for the confusion.
example:
A = 3 x 4 matrix
I need the mean of all the collumns for each row e.g:
mean(1,:)....mean (2,:)... mean(3,:)
I need a way to find which row index which has the minimum mean.
hope this clears it up.
Thanks

Sign in to comment.

Accepted Answer

Star Strider
Star Strider on 21 Sep 2021
One approach —
M = rand(288,365);
AMV = mean(min(M)) % Average Minimum Value
AMV = 0.0035
[val,idx] = min(abs(M(:)-AMV)) % Closest Element Value & Linear Index
val = 8.1619e-07
idx = 67083
[row,col] = ind2sub(size(M),idx)
row = 267
col = 233
An exact match (exact equality) is highly unlikely.
Experiment to get the result you want.
.
  2 Comments
Star Strider
Star Strider on 21 Sep 2021
My pleasure!
MATLAB uses column-major operations, so mean will take the mean of each column by default. That is how I interpreted:
I need to find which row contains the average minimum value (all collumns).
To take the mean of the rows instead:
AMV = mean(min(M),2) % Average Minimum Value
The rest of the code is unchanged, since it will return both the row and column of the closest match.
.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!