usol(x) = [ empty sym ] for using dsolve with the following nonlinear 3rd oder ODE
4 views (last 30 days)
Show older comments
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 Comments
Accepted Answer
Walter Roberson
on 4 Dec 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 Comments
Walter Roberson
on 5 Dec 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.
More Answers (0)
See Also
Categories
Find more on Equation Solving in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!