如何使用integration2评估(显然)非矢量化函数的积分?

时间:2019-05-23 22:41:49

标签: matlab integration differential-equations numerical-integration log-likelihood

我注意到有关积分2的一些怪异事实。这些可能是由于我在理解其工作原理方面的局限性。当我有特定功能时,在整合变量方面有些困难。例如,看下面的代码:

function Output = prova(p,Y)
x = p(1);
y = p(2);
w = p(3);
z = p(4);
F1 = @(Data,eta_1,eta_2,x,y,w,z) F2(eta_1,eta_2,Data) .* normpdf(eta_1,x,y) .* normpdf(eta_2,w,z);
Output = integral2(@(eta_1,eta_2)F1(Y,eta_1,eta_2,0,1,10,2),-5,5,-5,5);
end
function O = F2(pp1,pp2,D)
O = pp1 + pp2 + sum(D);
end

在这种情况下,评估积分没有问题。但是,如果我以这种方式更改代码,尽管F2的输出完全相同,但仍然会出现一些错误:

function Output = prova(p,Y)
x = p(1);
y = p(2);
w = p(3);
z = p(4);
F1 = @(Data,eta_1,eta_2,x,y,w,z) F2(eta_1,eta_2,Data) .* normpdf(eta_1,x,y) .* normpdf(eta_2,w,z);
Output = integral2(@(eta_1,eta_2)F1(Y,eta_1,eta_2,0,1,10,2),-5,5,-5,5);
end
function O = F2(pp1,pp2,D)
o = sum([pp1 pp2]);
O = o + sum(D);
end

例如,如果F2进行一些矩阵乘法,其中涉及我要积分的“ eta_1”和“ eta_2”,那么问题就会增加。这个问题几乎使解决求解无法进行计算,例如,我们必须将一个变量X集成到一个似然函数中(计算可能需要一些内部Loop,Sum或Prod涉及我们的变量X)。解决办法是什么?

0 个答案:

没有答案