微分方程式の求解

9 visualizzazioni (ultimi 30 giorni)
takeshi moriya
takeshi moriya il 27 Lug 2019
Risposto: Etsuo Maeda il 1 Ago 2019
以下の方程式について解を求めようとしています
dsolveを用いてこれを解こうとしてみましたが,陽的な解を見つけれませんでした.
どのようにすれば解を求めることができるか教えていただければ幸いです
以下に作成したコードを示します
syms x(t) y(t) t
eqn1 = diff(x,t,3)+3/4*x*diff(x,y,2)-1/2*(diff(x,t))^2+y==0;
eqn2 = diff(y,t,2)+3/4*x*diff(y,t)==0;
eqns = [eqn1 , eqn2];
Dx=diff(x,t);
cond = [x(0)==0, Dx(0)==0,y(0)==1,Dx(Inf)==0,F(Inf)==0];
sol = dsolve(eqns)

Risposte (1)

Etsuo Maeda
Etsuo Maeda il 1 Ago 2019
dsovle に cond が与えられていないようです。
また、cond の x(0) == 0 は画像にある境界条件に明示されていないようです。
正確な式を正確にコードに記述・実行しても Warning: Unable to find explicit solution となるのであれば、当該の式は少なくともMuPADエンジンで陽的に解ける問題ではありません(閉じた式ではない)。
"xは常に正の実数" など条件を追加できれば解けることもあります。その際は assume を使ってください。
いずれにせよ、dsolveで解けないのであれば、ode45などを使って数値解を求めることになります。
odeToVectorField を使って微分方程式の次元を 1 に簡約したあとに、matlabFunctionを使って無名関数をつくり、ソルバに渡します。
境界値問題を解くことになるのでbvpがよいかもしれません。
HTH

Prodotti


Release

R2019a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!