Cannot find solution Of 4th order ODE using dsolve: Warning: Unable to find explicit solution.
Mostrar comentarios más antiguos
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 comentario
Star Strider
el 13 de Ag. de 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)
Respuesta aceptada
Más respuestas (0)
Categorías
Más información sobre Utilities for the Solver en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!