微分方程式の求解
10 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
以下の方程式について解を求めようとしています
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)
0 commentaires
Réponses (1)
Etsuo Maeda
le 1 Août 2019
dsovle に cond が与えられていないようです。
また、cond の x(0) == 0 は画像にある境界条件に明示されていないようです。
正確な式を正確にコードに記述・実行しても Warning: Unable to find explicit solution となるのであれば、当該の式は少なくともMuPADエンジンで陽的に解ける問題ではありません(閉じた式ではない)。
"xは常に正の実数" など条件を追加できれば解けることもあります。その際は assume を使ってください。
いずれにせよ、dsolveで解けないのであれば、ode45などを使って数値解を求めることになります。
odeToVectorField を使って微分方程式の次元を 1 に簡約したあとに、matlabFunctionを使って無名関数をつくり、ソルバに渡します。
境界値問題を解くことになるのでbvpがよいかもしれません。
HTH
0 commentaires
Voir également
Catégories
En savoir plus sur 一般の演算 dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!