Effacer les filtres
Effacer les filtres

System of nonlinear differential equations

1 vue (au cours des 30 derniers jours)
Aleem Andrew
Aleem Andrew le 4 Fév 2020
Can anyone explain why the following code is incorrect? It attempts to graph the solution to the differential equation y' = y'' which is ce^x.
kp = 3;
kpm = 30;
kmp = 25;
klm = 15;
kl = 1;
f = @(t,y) [(y(2))];
tspan = [0, 25];
xinit = [0.01];
ode45(f, tspan, xinit)
legend('p(t)', 'm(t)', 'l(t)')
  2 commentaires
darova
darova le 4 Fév 2020
Please explain how did you write your equation? Why
f = @(t,y) [(y(2))];
Aleem Andrew
Aleem Andrew le 4 Fév 2020
As in the code from the linked page that line equates the first derivative of y to the second derivative.

Connectez-vous pour commenter.

Réponses (1)

Walter Roberson
Walter Roberson le 4 Fév 2020
Your xinit is a scalar, so the second parameter received by f will be a scalar; it is not possible to index the second element of a scalar.
If you are working with second derivatives then your xinit should be providing boundary conditions for the first derivative and second derivative, and your f should return a column vector with the same number of elements that xinit has.

Community Treasure Hunt

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

Start Hunting!

Translated by