我正在尝试在 matlab 中评估以下积分:http: //i.imgur.com/Iuc4VT5.png
这是我的代码:
alpha = 2;
F1 = @(u,v) 2*u.*v.*exp(-u.^2)./(1+2*z.*u.*v);
F2 = @(v) v;
F3 = @(z) exp(-z)./sqrt(z);
I1 = dblquad(F1,0,1e5,2,1e5);
I2 = quad(F2,2,1e5);
quad(F3*exp(-(I2-I1)),0,1e5);
我收到如下所示的错误。这些错误并没有显示太多,但我猜这是因为我写的方式F1
。我定义F1
为u
和v
为双积分的函数,但还有一个变量z
是外积分的变量。我这样做是因为我无法z
从内部积分中分离出来。有没有更好的方法来编写这个集成?
Error in ==> @(u,v)2*u.*v.*exp(-u.^2)./(1+2*z.*u.*v)
Error in ==> dblquad>innerintegral at 73
fcl = intfcn(xmin, y(1), varargin{:}); %evaluate only to get the class below
Error in ==> quad at 76
y = f(x, varargin{:});
Error in ==> dblquad at 53
Q = quadf(@innerintegral, ymin, ymax, tol, trace, intfcn, ...
我选择1e5
代表无限。