Filter löschen
Filter löschen

Two different solutions for one differential equation (population model)

3 Ansichten (letzte 30 Tage)
I'll try solving the ODE:
Substituting
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);
pretty(S)
Receiving:
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));
fplot(P1)
hold on
P2 = -(c1*(tanh(atanh((c1 - 2*c2*u0)/k1) - (c1*t)/2) - 1))/(2*c2);
fplot(P2)
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 Kommentare
Niklas Kurz
Niklas Kurz am 29 Mai 2021
Bearbeitet: Niklas Kurz am 29 Mai 2021
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 am 3 Jun. 2021
Most welcome. We learn by making mistakes.
Please just keep it. So others can learn.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Sulaymon Eshkabilov
Sulaymon Eshkabilov am 29 Mai 2021
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.

Weitere Antworten (0)

Kategorien

Mehr zu Programming finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by