1

我想评估形式为 \int_{-\infty}^a \int_{-infty}^b sum_{i,j}^K a_i*a_j*x^i*y^j*exp(- x^2 - y^2 + x*y)dx dy

其中 a_i 和 a_j 是常数。由于积分是线性的,我可以互换求和和积分,但在这种情况下,我必须评估 K^2 积分,而且时间太长。在这种情况下,我会执行以下操作:

for i = 1:K
   for j = 1:K
       fun = @(x,y) x.^i.*y.^j.*exp(-2.*(x.^2 + y.^2 - 2.*x.*y))
       part(i,j) = alpha(i)*alpha(j)*integral2(fun,-inf,a,-inf,b)
   end
end

时间太长,所以我只想评估一个积分,但我不知道如何向量化 sum_{i,j}^K a_i*a_j*x^i*y^j*exp(-x^2 - y^2 + x*y),即如何提供给integral2。| 将非常感谢任何帮助。

4

1 回答 1

0

关于什么:

I = [1:K]';
J = [1:K]';
funhandle = @(x,y)(sum(sum(...
repmat(alpha(I),1,K)...
.*repmat(alpha(J)',K,1)...
.*repmat(x.^I,1,K)...
.*repmat((y.^J)',K,1)))...
*exp(-x^2-y^2+x*y))

我认为它正确地完成了你想要的总和......

于 2013-03-22T10:10:37.617 回答