System of nonlinear differential equations

1 回表示 (過去 30 日間)
Aleem Andrew
Aleem Andrew 2020 年 2 月 4 日
回答済み: Walter Roberson 2020 年 2 月 4 日
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 件のコメント
darova
darova 2020 年 2 月 4 日
Please explain how did you write your equation? Why
f = @(t,y) [(y(2))];
Aleem Andrew
Aleem Andrew 2020 年 2 月 4 日
As in the code from the linked page that line equates the first derivative of y to the second derivative.

サインインしてコメントする。

回答 (1 件)

Walter Roberson
Walter Roberson 2020 年 2 月 4 日
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.

カテゴリ

Help Center および File ExchangeOrdinary Differential Equations についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by