Cannot find solution Of 4th order ODE using dsolve: Warning: Unable to find explicit solution.
Show older comments
Below is the Code I used to solve 4th order differential equation
but I am gitting warning regarding
clc;
clear all;
syms x v(x) a0 a1 a2 a3 a4 L I E q
assume(L>0)
assume(E>0)
assume(I>0)
ode = I*E*diff(v,x,4) - q == 0
v(x) = a0+ a1*x + a2*(x^2) + a3*(x^3) + a4*(x^4)
Dv = diff(v,x);
D2v = diff(v,x,2);
D3v = diff(v,x,3);
cond1 = v(0) == 0
cond2 = Dv(0) == 0
cond3 = D2v(L) == 0,a2
cond4 = D3v(L) == 0,a3
conds = [cond1 cond2 cond3 cond4]
tSol(x) = dsolve(ode,conds)
Outpt:
Warning: Unable to find explicit solution.
ode(x) =
v(x) =
cond1 =
cond2 =
cond3 =
a2 =
cond4 =
a3 =
conds =
Warning: Unable to find explicit solution.
tSol(x) =
[ empty sym ]
1 Comment
Star Strider
on 13 Aug 2019
The problem is most likely your initial conditions, since:
Vsol = dsolve(ode)
produces:
Vsol =
(q*x^4)/(24*E*I) + (C8*x^3)/6 + (C9*x^2)/2 + C10*x + C11
Consider that:
L = solve(cond3, L)
produces:
Warning: Solutions are valid under the following conditions: (3*a3 + 3^(1/2)*(3*a3^2 - 8*a2*a4)^(1/2))/a4 < 0;
(3*a3 - 3^(1/2)*(3*a3^2 - 8*a2*a4)^(1/2))/a4 < 0. To include parameters and conditions in the solution, specify the
'ReturnConditions' value as 'true'.
> In solve>warnIfParams (line 482)
In solve (line 357)
L =
-(3*a3 + 3^(1/2)*(3*a3^2 - 8*a2*a4)^(1/2))/(12*a4)
-(3*a3 - 3^(1/2)*(3*a3^2 - 8*a2*a4)^(1/2))/(12*a4)
Accepted Answer
More Answers (0)
Categories
Find more on Utilities for the Solver 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!