Используя integral2
:
, получаем 0,9994,
% MATLAB R2019a
rho = 0.8;
ff = @(x, y) (exp(-(((log(x)-10).^2-2.*rho.*(log(x)-10).*(log(y)-10)+(log(y)-10).^2)./(2.*(1-rho.^2))))./(2.*pi.*sqrt(1-rho.^2).*x.*y));
area = integral2(ff,0,inf,0,inf) % area = 0.9994
но корректировка допуска дает желаемый результат.
area = integral2(ff,0,inf,0,inf,'Method','iterated','AbsTol',0,'RelTol',1e-10)
и = 1,0000
format long
area
и = 0,9999999999999998
Не слишком потертый.
Использование vpaintegral
из Symbolic Toolbox:
Вы можететакже отрегулируйте допуск для vpaintegral
.
С помощью Относительная погрешность из 1e-4
выполнила задание. Этот параметр сильно влияет на время вычислений.
syms x y
area = vpaintegral(vpaintegral(ff, x, [0 inf],'RelTol', 1e-4, 'AbsTol', 0), y, [0 inf],'RelTol', 1e-4, 'AbsTol', 0)
area = 1.0