Two different solutions for one differential equation (population model)

3 ビュー (過去 30 日間)
I'll try solving the ODE:
Transforming to:
Solving I get:
Finally, after back substitution:
complete solution:
what's equivalent to:
Now same stuff with MATLAB:
syms u(t); syms c1 c2 u0 real;
D = diff(u,t,1) == c1*u-c2*u^2;
k2 = u;
cond = k2(0) == u0;
S = dsolve(D,cond);
I was hoping these expressions have some equivalence so I was plotting them:
c1 = 4; c2 = 2; u0 = 1;
syms t
P1 = (c1)/(1-exp(-c1*t)+c1/u0*exp(-c1*t));
hold on
P2 = -(c1*(tanh(atanh((c1 - 2*c2*u0)/k1) - (c1*t)/2) - 1))/(2*c2);
but no luck there. I know that's again a quite complex question, but on MathStack one told me these solutions are equvialent, so I don't see a reason for the dissonance.
  3 件のコメント
Niklas Kurz
Niklas Kurz 2021 年 5 月 29 日
編集済み: Niklas Kurz 2021 年 5 月 29 日
Oh my gosh, all the trouble and questionings were caused by a little typo. I really cherish that hint. It's worth a reply for sure hence I can accept and close the question. Or should I delete it since it's not others people buiseness?
Sulaymon Eshkabilov
Sulaymon Eshkabilov 2021 年 6 月 3 日
Most welcome. We learn by making mistakes.
Please just keep it. So others can learn.



Sulaymon Eshkabilov
Sulaymon Eshkabilov 2021 年 5 月 29 日
Besides k1, in your derivations, there are some errs. Here are the corrected formulation in your derivation part:
c1 = 4; c2 = 2; u0 = 1;
syms t
P1 = c1/(c2 - exp(-c1*t)*(c2 - c1/u0)); % Corrected one!
fplot(P1, [0, pi], 'go-')
hold on
P2 = -(c1*(tanh(atanh((c1 - 2*c2*u0)/c1) - (c1*t)/2) - 1))/(2*c2);
S = eval(S);
fplot(S, [0, pi], 'r-')
Good luck.

その他の回答 (0 件)


Help Center および File ExchangeProgramming についてさらに検索


Community Treasure Hunt

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

Start Hunting!

Translated by