使用mtimes时出错

时间:2015-12-28 11:07:23

标签: matlab

我试图像这样运行此功能:calcSQNRA(0,4,6)并且我收到了这些错误:

  

???使用==>时出错mtimes内部矩阵尺寸必须一致。

     

==>中的错误calcSQNRA> @(x)x。^ 2 * e。^( - x)at 6 f = @(x)x。^ 2 * e。^( - x);

     

==>中的错误quad y at 70 y = feval(f,x,varargin {:}); y = y(:)。&#39 ;;

     

==>中的错误calcSQNRA在7 x = 10 * log10(3 * 4 ^ t *   quadl(F,XMIN,XMAX));

function [x] = calcSQNRA(xmin, xmax, N)

e = exp(1);
t = log2(N);

f = @(x) x.^2 * e.^(-x);
x = 10 * log10(3 * 4^t * quadl(f,xmin,xmax));

在统一量化之后,该函数试图计算指数分布的SQNR(如果我正确地想到它)。请注意,如果我从f中删除e.^(-x),它实际上会产生结果。有什么想法吗?

1 个答案:

答案 0 :(得分:4)

我杀了15分钟调试quadlfeval函数。在这个过程中如此深入,我只想到这个简单的事情:

如果我以这种方式在您的.匿名函数中设置f,它就会起作用:

f = @(x) x.^2 .* e.^(-x);

然后 calcSQNRA(0,4,6)给出结果:22.1635

这是你想要达到的目标吗?