Unable to find symbolic solution with "dsolve" function
显示 更早的评论
I've used the dsolve() function before, but for some reason it isn't working well for me on this particular problem. The differential equation is dy/dt=(t-e^(-t))/(y+e^y), with an initial value of y(1.5)=0.5.
sol=dsolve('Dy=(t-exp(-t))/(y+(exp(y)))','y(1.5)=0.5','t')
These are the warnings I get:
In dsolve (line 126)
Warning: Unable to find symbolic solution.
> In dsolve>assignOutputs (line 242)
In dsolve (line 228)
and "sol" gets [empty sym], when it should get me an equation.
11 个评论
VBBV
2020-10-10
编辑:Walter Roberson
2020-10-13
Define t as symbolic variable
syms y t
eqn = diff(y,t) == t-exp(-t)/(y+exp(y));
Cond = y(1.5)==0.5
S= dsolve(eqn,Cond);
Walter Roberson
2020-10-10
unfortunately that does not solve the problem
Lucas Howarth
2020-10-10
VBBV
2020-10-10
install symbolic math toolbox and run it
Lucas Howarth
2020-10-10
Lucas Howarth
2020-10-10
VBBV
2020-10-10
or use ode45
syms y t
eqn = @(y,t) t-exp(-t)/(y+exp(y));
y0 = 0.5;
span = [0 1];
[t y] = ode45(eqn,span,y0)
Lucas Howarth
2020-10-10
Walter Roberson
2020-10-10
dsolve() is the symbolic toolbox. If you are being asked to use dsolve() then you are being asked to use the symbolic toolbox.
Bhomik Kankaria
2020-10-13
Hi Lucas,
If dsolve cannot find an explicit solution of a differential equation analytically, then it returns an empty symbolic array. You can solve the differential equation by using MATLAB® numerical solver, such as ode45. For more information, see Solve a Second-Order Differential Equation Numerically.
Alternatively, you can try finding an implicit solution of the differential equation by specifying the 'Implicit' option to true.For example, in your case you can use it to solve the equation -
>> dsolve('Dy=(t-exp(-t))/(y+(exp(y)))','y(1.5)=0.5','t','Implicit',true)
Walter Roberson
2020-10-13
By the way, Maple is not able to solve the equation.
回答(0 个)
类别
在 帮助中心 和 File Exchange 中查找有关 Symbolic Math Toolbox 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!