Unable to find symbolic solution
6 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Fatemeh
el 23 de Mzo. de 2023
Comentada: John D'Errico
el 23 de Mzo. de 2023
I'm getting this error when I'm running my code. "Unable to find symbolic solution". Can you please help me?
clear; syms y(x)
Dy = diff(y);
D2y = diff(y,2);
ode = y+((0.05*Dy)/y)-((0.5*D2y*x)/y)-(0.2/x)-(0.05/x) == 0;
ySol = dsolve(ode , y(80) == 0);
1 comentario
John D'Errico
el 23 de Mzo. de 2023
syms y(x)
Dy = diff(y);
D2y = diff(y,2);
ode = y+((0.05*Dy)/y)-((0.5*D2y*x)/y)-(0.2/x)-(0.05/x) == 0
Why do you think a solution exists in the first place? Anyway, you have supplied only one boundfary condition, and this is a second order ODE, so you could not even find a numerical solution.
Respuesta aceptada
Star Strider
el 23 de Mzo. de 2023
The system is nonlinear, so it quite likely does not have an analytic solutioon.
Try something like this—
syms y(x) x Y
Dy = diff(y);
D2y = diff(y,2);
ode = y+((0.05*Dy)/y)-((0.5*D2y*x)/y)-(0.2/x)-(0.05/x)
% ySol = dsolve(ode , y(80) == 0)
[VF,Subs] = odeToVectorField(ode)
odefcn = matlabFunction(VF, 'Vars',{x,Y})
tspan = [80 0]; % Begin Solution At 80 And Go Backwards
ic = [0 eps]; % Supply Appropriate Initial Conditions, Specifically For 'Dy'
[x,y] = ode45(odefcn, tspan, ic);
figure
plot(x, y)
grid
legend(string(Subs), 'Location','best')
.
0 comentarios
Más respuestas (0)
Ver también
Categorías
Más información sobre Ordinary Differential Equations en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!