A particular differential equation... why can't I solve it?

조회 수: 13 (최근 30일)
Yingquan Li
Yingquan Li . 2011년 9월 25일
댓글: darova . 2019년 9월 14일
the differential equation: dy/dt = (t-e^-t)/(y+e^y) was assigned by my teacher and supposedly dsolve() can solve it, resulting in an implicit solution. No matter what I try, I think the teacher is wrong because I just get the empty matrix, which according to the documentations means that no solution could be found. Any thoughts? I'm getting nowhere digging in the documentation.

채택된 답변

John D'Errico
John D'Errico 2019년 9월 13일
Easier than you might think to solve, even with pencil and paper. But sometimes a computer won't see the trick, at least, not without help. I've seen cases where that happens, but not here. Of course, since this is now an 8 year old, unanswered question. it may also be that dsolve has become smarter since it was originally posed too.
Here, I think it is possible the transcription error was Walter's fault in what he tried, because dsolve succeeds.
syms t y(t)
>> dsolve(diff(y(t), t) == (t-exp(-t))/(y(t)+exp(y(t))))
Warning: Unable to find explicit solution. Returning implicit solution instead.
> In dsolve (line 208)
ans =
solve(2*exp(y) + y^2 == 2*C8 + 2*exp(-t) + t^2, y)
So the solution is indeed an implicit euation. How would we arrive at it without the help of MATLAB? This is a separable equation, if you multiply by the denominators (y + exp(y))*dt. So we have the problem...
(y + exp(y)) dy = (t - exp(-t)) dt
Integrating each side, we get
y^2 / 2 + exp(y) = t^2 /2 + exp(-t) + C
If you now multiply by 2, you should see it is the same implicit problem returned by dsolve. C is of course an unknown constant of integration.
  댓글 수: 3
darova 2019년 9월 14일
Finally! 8 years, guys

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

Walter Roberson
Walter Roberson 2011년 9월 25일
In Maple,
dsolve(diff(y(t), t) = (t-exp(-t))/(y(t)+exp(t)));
returns empty as well. That suggests that perhaps the equation is not transcribed correctly.


Help CenterFile Exchange에서 Equation Solving에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by