【发布时间】:2017-10-01 06:37:17
【问题描述】:
我正在尝试通过使用符号表示来评估 Matlab 中的三重积分。以下是我的代码:
fun = @(x,y,z) (((2*pi)^length(data))*sqrt(det(COVAR)))^-1*exp(-0.5*([x y z]-OMEGA)'*inv(COVAR)*([x y z]-OMEGA));
q = integral3(fun,-Inf,Inf,-Inf,Inf,-Inf,Inf)
上述函数是具有 3x3 协方差矩阵 (COVAR) 和 10000x3 样本的多元高斯函数,(数据)理想情况下应得到 1.0 作为其答案。
但它会导致错误消息... 矩阵尺寸必须一致。
@(x,y,z)exp(-0.5*([x,y,z]-OMEGA)'inv(COVAR)([x,y,z]-欧米茄))
integration3 中的错误>@(y,z)FUN(x(1)*ones(size(z)),y,z)(第 138 行) @(y,z)FUN(x(1)*ones(size(z)),y,z), ...
integral2Calc 中的错误>@(y)fun(xiones(size(y)),y)(第 18 行) @(y)fun(xiones(size(y)),y),y1i,y2i,opstruct.integralOptions), ...
integralCalc/iterateScalarValued 中的错误(第 314 行) fx = FUN(t);
integralCalc/vadapt 中的错误(第 132 行) [q,errbnd] = iterateScalarValued(u,tinterval,pathlen);
integralCalc 中的错误(第 103 行) [q,errbnd] = vadapt(@minusInfToInfInvTransform,interval);
integral2Calc 出错>@(xi,y1i,y2i)integralCalc(@(y)fun(xi*ones(size(y)),y),y1i,y2i,opstruct.integralOptions)
integral2Calc 中的错误>@(x)arrayfun(@(xi,y1i,y2i)integralCalc(@(y)fun(xi*ones(size(y)),y),y1i,y2i,opstruct.integralOptions) ,x,ymin(x),ymax(x)) (第 17 行) 内积分 = @(x)arrayfun(@(xi,y1i,y2i)integralCalc( ...
integralCalc/iterateScalarValued 中的错误(第 314 行) fx = FUN(t);
integralCalc/vadapt 中的错误(第 132 行) [q,errbnd] = iterateScalarValued(u,tinterval,pathlen);
integralCalc 中的错误(第 103 行) [q,errbnd] = vadapt(@minusInfToInfInvTransform,interval);
integral2Calc 中的错误>integral2i(第 20 行) [q,errbnd] = 积分计算(innerintegral,xmin,xmax,opstruct.integralOptions);
integral2Calc 中的错误(第 7 行) [q,errbnd] = 积分2i(fun,xmin,xmax,ymin,ymax,optionstruct);
integral3/innerintegral 中的错误(第 137 行) Q1 = 积分2Calc( ...
integralCalc/iterateScalarValued 中的错误(第 314 行) fx = FUN(t);
integralCalc/vadapt 中的错误(第 132 行) [q,errbnd] = iterateScalarValued(u,tinterval,pathlen);
integralCalc 中的错误(第 103 行) [q,errbnd] = vadapt(@minusInfToInfInvTransform,interval);
integral3 中的错误(第 121 行) Q = 积分计算(@innerintegral,xmin,xmax,integralOptions);
我不太了解错误消息,我们将不胜感激。提前谢谢你。
其实我只想计算第一象限的函数值....
q = integral3(fun,0,Inf,0,Inf,0,Inf) %%something like this.
如果我们碰巧只限于正参数/估计值,则此练习背后的想法是计算上述多元分布的归一化常数。
谢谢。
【问题讨论】:
标签: matlab