replace minimum value of each column with nan

i have a 10*10 matrix.
How to replace the minimum value from each column with nans.
ex; [10,5
2,8
8,1];
the desired out put should be like
[10,5
nan,8
8,nan];
thanks

 Akzeptierte Antwort

madhan ravi
madhan ravi am 18 Mär. 2019
Bearbeitet: madhan ravi am 18 Mär. 2019

0 Stimmen

M(M==min(M))=nan % where M is your matrix

4 Kommentare

My matrix is 3*10 double
it shows Error using ==
Matrix dimensions must agree.
and plz include this condition in code
condition is if the value in each column is not more than 15% of maximum value of that column
madhan ravi
madhan ravi am 18 Mär. 2019
Bearbeitet: madhan ravi am 18 Mär. 2019
"Replace minimum value of each column with nan"
M(bsxfun(@eq,M,min(M)))=nan
thanks a lot it works.......
and just one more query. plz help me on this
A=[10,0.5
1,8
8,0];
A_max =max(A);
out=[10,8];
i want to replace values <15%A_max with nans
output matrix
Out=[10,nan %0.5 is less than the 15%8
nan,8 % 1 is <15%10
8,nan];

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Community Treasure Hunt

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

Start Hunting!

Translated by