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

66 ビュー (過去 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 件のコメント
John D'Errico
John D'Errico 2019 年 9 月 13 日
Yes. I thought it may have been a transcription error indeed. Its an easy mistake to make too, because the eye sees the exponential, and one mentally puts in a t there to match the numerator.
darova
darova 2019 年 9 月 14 日
Finally! 8 years, guys
Congratulation

サインインしてコメントする。

その他の回答 (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 Center および File ExchangeAssumptions についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by