私はmatlabの第3変数の二重積分方程式を解こうとしています。第3変数の二重積分方程式を解く
例:まず
以下のように、私は(k = 1のとき)象徴それを解決しようとした:コードが正しい答え、すなわち時間を与える
syms x y h
F = @(x,y,h) 2*x*y+4*h;
f = @(x) x/2;
solve(int(int(F(x,y,h)*f(x),x,0,3)*f(y),y,0,1)-3, h)
k = 1のときは2/3となる。
しかし私の実際の問題では、関数Fとfははるかに複雑です。そして、私が複雑なFとfで同じコードを適用したとき、matlabは適切な時間にそれを解決しません。実際にはそれが解決するかどうかは分かりません。コードを30分実行させ、強制終了させました。私はこの経路をさらに追求しなければならないだろうが、今は数値で解決しようとしている。以下のコードは私が試したものです:
F = @(x,y,h) 2.*x.*y+4.*h;
f = @(x) x./2;
g1 = @(y,h) integral(@(x) F(x,y,h).*f(x),0,3)
g2 = @(h) integral(@(y) g1(y,h).*f(y),0,1)-3
bsolve = fsolve(g2,0)
なぜこのコードは私に0.5833の間違った答えを与えますか? integral
のドキュメントから
ありがとうございました! – user2011987