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

 Réponse acceptée

madhan ravi
madhan ravi le 18 Mar 2019
Modifié(e) : madhan ravi le 18 Mar 2019
M(M==min(M))=nan % where M is your matrix

4 commentaires

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 le 18 Mar 2019
Modifié(e) : madhan ravi le 18 Mar 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];

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by