How to set all non-finite elements of a matrix to the minimum of the corresponding column?

4 Ansichten (letzte 30 Tage)
Hi,
I have a matrix m and want to set all elements that are NaN, Inf or -Inf to the minimum of the corresponding column. For example: If m(r,c) is non-finite, it should be set to the lowest finite value of column c.
How can this be done (preferably without looping)?
Thanks...

Akzeptierte Antwort

Matt J
Matt J am 28 Sep. 2013
Bearbeitet: Matt J am 28 Sep. 2013
m(~isfinite(m))=nan;
minvals=min(m,[],1);
m=bsxfun(@max,m,minvals);

Weitere Antworten (0)

Kategorien

Mehr zu Interpolation finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by