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.

답변 (1개)

Sean de Wolski
Sean de Wolski 2011년 10월 5일

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

Matt Tearle
Matt Tearle 2011년 10월 5일
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 2011년 10월 5일
x = [0 inf -inf 3];
Matt Tearle
Matt Tearle 2011년 10월 5일
y(isinf(y)&~isinf(x)) = 0
Sean de Wolski
Sean de Wolski 2011년 10월 5일
I'm holding to ~x, logical and foolproof, no, doh! can't convert nan to logical arghh...
x==0

댓글을 달려면 로그인하십시오.

카테고리

도움말 센터File Exchange에서 Creating Custom Components and Libraries에 대해 자세히 알아보기

태그

질문:

2011년 10월 5일

Community Treasure Hunt

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

Start Hunting!

Translated by