Я хочу оценить двойной интеграл формы $$ \ int _ {- \ infty}^a \ int _ {- \ infty}^b \ sum_ {i, j}^K a_ia_jx^iy^j \ exp (-x^2 - y^2 + xy) dx dy $$Как векторизовать функцию для integer2?
где $ 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_ia_jx iy^j \ exp (-x^2 - y^2 + xy) $, а именно, как обеспечить его интеграл2. Я был бы очень благодарен за любую помощь.
Я думаю, что некоторые аналитические упрощения могут помочь. Во-первых, это 'exp (-2 * (x-y)^2)', поэтому попробуйте изменить переменные на '(x-y)^2'. –