Find general non-constant solution for differential equation
4 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Borjan Trajanoski
le 7 Mai 2020
Commenté : Ameer Hamza
le 8 Mai 2020
eqn=diff(y(t),t) == k*y*(1-y/M);
S=dsolve(eqn);
Sz = S(3) %general non-constant solution
>> Sz = M/(exp(-M*(C1 + (k*t)/M)) + 1)
If I put my code in matlab, for Sz I get an 3x1 array with
S(1) = 0
S(2) = M
S(3) = M/(exp(-M*(C1 + (k*t)/M)) + 1)
Now I know the solution to this problem is in S(3) as seen in the code, but is there a way how Matlab can find the solution without me looking into the array of Sz?
Thanks!
0 commentaires
Réponse acceptée
Ameer Hamza
le 7 Mai 2020
All three solution given by dsolve() satisfies the differential equation. So, I guess you want to get the solution which depends on time. You can do it like this
syms y(t) M k
eqn=diff(y(t),t) == k*y*(1-y/M);
S=dsolve(eqn);
idx = arrayfun(@(x) ismember(t, symvar(x)), S);
S = S(idx);
2 commentaires
Plus de réponses (0)
Voir également
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!