Unable to find symbolic solution
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
Fatemeh
am 23 Mär. 2023
Kommentiert: John D'Errico
am 23 Mär. 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 Kommentar
John D'Errico
am 23 Mär. 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.
Akzeptierte Antwort
Star Strider
am 23 Mär. 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 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Ordinary Differential Equations 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!