Azzera filtri
Azzera filtri

System of nonlinear differential equations

1 visualizzazione (ultimi 30 giorni)
Aleem Andrew
Aleem Andrew il 4 Feb 2020
Risposto: Walter Roberson il 4 Feb 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 Commenti
darova
darova il 4 Feb 2020
Please explain how did you write your equation? Why
f = @(t,y) [(y(2))];
Aleem Andrew
Aleem Andrew il 4 Feb 2020
As in the code from the linked page that line equates the first derivative of y to the second derivative.

Accedi per commentare.

Risposte (1)

Walter Roberson
Walter Roberson il 4 Feb 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