System of nonlinear differential equations

2 views (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.

Categories

Find more on Mathematics in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!