微分方程式の求解

15 visualizaciones (últimos 30 días)
takeshi moriya
takeshi moriya el 27 de Jul. de 2019
Respondida: Etsuo Maeda el 1 de Ag. de 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)

Respuestas (1)

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

Productos


Versión

R2019a

Community Treasure Hunt

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

Start Hunting!