Unable to find symbolic solution with "dsolve" function

10 次查看(过去 30 天)
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 个评论
Bhomik Kankaria
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)

请先登录,再进行评论。

回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Symbolic Math Toolbox 的更多信息

产品


版本

R2020a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by