usol(x) = [ empty sym ] for using dsolve with the following nonlinear 3rd oder ODE
4 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
YX Sun
am 4 Dez. 2017
Kommentiert: YX Sun
am 5 Dez. 2017
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)
0 Kommentare
Akzeptierte Antwort
Walter Roberson
am 4 Dez. 2017
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 Kommentare
Walter Roberson
am 5 Dez. 2017
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.
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Equation Solving finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!