我试图评估MATLAB下面的积分:http://i.imgur.com/Iuc4VT5.png如何在Matlab中正确编写这个集成?
这里是我的代码:
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
。作为u
和v
的函数,我定义了F1
作为双积分的函数,但也有一个变量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
表示无穷大。
你告诉我们错误发生在哪里,但不是错误信息是什么。 – Daniel
@DanielR这些都是我在Matlab中看到的所有错误消息。 –
那么,在我的系统上运行它肯定会有另一个消息:'未定义的函数或变量'z'. –