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.

Answers (1)

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 Comments

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

Sign in to comment.

Categories

Find more on Creating Custom Components and Libraries in Help Center and File Exchange

Tags

Asked:

on 5 Oct 2011

Community Treasure Hunt

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

Start Hunting!