log2(0)=-inf problem

Hallo,
my problem is that i want to set the quantity log2(0), so as log2(0)==0 {normally it is log2(0)==-inf}. is there a simple way to do this?
Thanks you in advance.

Risposte (1)

Sean de Wolski
Sean de Wolski il 5 Ott 2011

1 voto

Write your own log2 and call it:
function out = mylog2(in)
out = log2(in);
out(~in) = 0;
end
Add the F/E output options if desired.
It would be very dangerous to overload this function since it's probably used elsewhere.

4 Commenti

Matt Tearle
Matt Tearle il 5 Ott 2011
Or, post process: y = log2(x); y(isinf(y)) = 0;
Am I suggesting some logical indexing? Why, yes, I think I am!
Sean de Wolski
Sean de Wolski il 5 Ott 2011
x = [0 inf -inf 3];
Matt Tearle
Matt Tearle il 5 Ott 2011
y(isinf(y)&~isinf(x)) = 0
Sean de Wolski
Sean de Wolski il 5 Ott 2011
I'm holding to ~x, logical and foolproof, no, doh! can't convert nan to logical arghh...
x==0

Accedi per commentare.

Categorie

Richiesto:

il 5 Ott 2011

Community Treasure Hunt

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

Start Hunting!

Translated by