Matlab(或R)中带指示函数的二重积分?
我需要计算这个二重积分: 其中f(x)和f(y)是r.v a和y的分布密度(它们以正态分布且相互独立) 用Matlab。我试过这个 我试过这个:Matlab(或R)中带指示函数的二重积分?,matlab,integral,indicator,Matlab,Integral,Indicator,我需要计算这个二重积分: 其中f(x)和f(y)是r.v a和y的分布密度(它们以正态分布且相互独立) 用Matlab。我试过这个 我试过这个: fun = @(x,y)((5-2*y)/3)*((1./sqrt(4*pi))*exp(-(x-2)^(2)/4))*((1./sqrt(8*pi))*exp(-(x-1)^(2)/8)) xmax = @(y)(5-2*y)/3 q = integral2(fun,-Inf,1,1,xmax) 但它不起作用 有什么建议吗?(我不是Matlab专
fun = @(x,y)((5-2*y)/3)*((1./sqrt(4*pi))*exp(-(x-2)^(2)/4))*((1./sqrt(8*pi))*exp(-(x-1)^(2)/8))
xmax = @(y)(5-2*y)/3
q = integral2(fun,-Inf,1,1,xmax)
但它不起作用
有什么建议吗?(我不是Matlab专家)。如果不是Matlab,使用R就可以了。您的函数
fun
不允许矢量化输入,这意味着一次评估多个输入。例如:
fun([1,2],[3,4])
预期的产出将是
[fun(1,3),fun(2,4)]
要解决此问题,您必须使用elementwise操作,该操作已通过错误消息向您建议:
使用^时出错
输入必须是标量和方阵。
要计算元素级功率,请使用功率(.^)
相反。
请将代码以文本形式发布。不要上传图像。谢谢..我不知道如何使用elementwise操作在这种情况下
^
是错误的操作,您必须将其替换为^