System of nonlinear differential equations

1 view (last 30 days)
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 Comments
darova
darova on 4 Feb 2020
Please explain how did you write your equation? Why
f = @(t,y) [(y(2))];
Aleem Andrew
Aleem Andrew on 4 Feb 2020
As in the code from the linked page that line equates the first derivative of y to the second derivative.

Sign in to comment.

Answers (1)

Walter Roberson
Walter Roberson on 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!