我試圖評估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'. –