usol(x) = [ empty sym ] for using dsolve with the following nonlinear 3rd oder ODE

3 ビュー (過去 30 日間)
YX Sun
YX Sun 2017 年 12 月 4 日
コメント済み: YX Sun 2017 年 12 月 5 日
I am trying to solve this 3rd order nonlinear ode using symbolic solver and it returned usol(x) = [ empty sym ]. Can someone help me understand what is going on with this? I have included my code below. Thanks in advance.
syms u(x)
Du=diff(u,x);
D2u=diff(u,x,2);
ode=diff(u,x,3)+0.5*diff(u,x,2)*u==0;
cond1=u(0)==0;
cond2=Du(0)==0;
cond3=D2u(0)==1;
conds = [cond1 cond2 cond3];
usol(x)=dsolve(ode,conds)

採用された回答

Walter Roberson
Walter Roberson 2017 年 12 月 4 日
There is no solution for that. The u(0)=0 condition forces u to be identical to 0. If you instead use the D2u(0)=1 condition, then that by itself forces u(x) = 6/(x+12^(1/3)) which can only reach 0 at x = +/- infinity.
  3 件のコメント
Walter Roberson
Walter Roberson 2017 年 12 月 5 日
Differential equations can be solved numerically or as equations, creating the function for which the differential statements and the boundary conditions hold.
The combination
diff(u,x,3)+0.5*diff(u,x,2)*u==0
u(0)==0
when solved as equations, has only the solution u(x) = 0. That solution is consistent with u(0) == 0 and with Du(0) == 0, but it is not consistent with D2u(0) == 1
At the moment I do not have a description handy for what happens when you do a numeric solution to differential equations such as using ode45(). I will try to come up with some wording later.
YX Sun
YX Sun 2017 年 12 月 5 日
Thank you Walter. Hope to hear more about this soon.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeEquation Solving についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by