can someone explain to me what is this entire code means?
4 次查看(过去 30 天)
显示 更早的评论
ptotdB = dbp(ptot);
in another file:
function y=dbp(x)
y = -Inf*ones(size(x));
nonzero = x~=0;
y(nonzero) = 10*log10(abs(x(nonzero)));
0 个评论
采纳的回答
the cyclist
2013-3-22
编辑:the cyclist
2013-3-22
Looks like it's converting any non-zero input to decibels ( http://en.wikipedia.org/wiki/Decibel ), and zero input to negative infinity.
4 个评论
Walter Roberson
2013-3-24
It depends what you mean by "declare". In order to use the function, you need to pass in an input value to the function, but the variable name you use in the calling function does not need to be named "x".
更多回答(1 个)
Ahmed A. Selman
2013-3-24
This code finds log10 of the values of some vector (x). The line:
y = -Inf*ones(size(x));
is meaningless in this part of the code because it is overridden later by:
y(nonzero) = 10*log10(abs(x(nonzero)));
There could be more lines in this function that need the variable (nonzero). A much simpler code is:
function y=dbp(x)
y = 10*log10(abs(x(:)))';
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Data Preprocessing 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!