runge-Kutta problem command ode45

1 回表示 (過去 30 日間)
Alvaro Mª Zumalacarregui Delgado
Alvaro Mª Zumalacarregui Delgado 2021 年 3 月 1 日
コメント済み: Star Strider 2021 年 3 月 1 日
I try to solve an equation with the command ode45 b ut I have an error, this is my code:
tspan = [0 5];
y0 = 100;
Q = 30, b = 0.2;
[t,y,x] = ode45(@(tspan,y,x) Q-b*x*y, t, y0);
plot (t,y,x,'-o')
and the error:
Q =
30
Not enough input arguments.
Error in rungrkutta_y>@(tspan,y,x)Q-b*x*y (line 4)
[t,y,x] = ode45(@(tspan,y,x) Q-b*x*y, t, y0);
Error in odearguments (line 90)
f0 = feval(ode,t0,y0,args{:}); % ODE15I sets args{1} to yp0.
Error in ode45 (line 115)
odearguments(FcnHandlesUsed, solver_name, ode, tspan, y0, options, varargin);
Error in rungrkutta_y (line 4)
[t,y,x] = ode45(@(tspan,y,x) Q-b*x*y, t, y0);
how can I solve it?

採用された回答

Star Strider
Star Strider 2021 年 3 月 1 日
I have no idea what you want to do, or what ‘x’ and ‘y’ are.
This will get you closer to an actual result:
tspan = [0 5];
y0 = [100; 0];
Q = 30;
b = 0.2;
[t,y] = ode45(@(t,y) [y(1); Q-b*y(1)*y(2)], tspan, y0);
figure
plot (t,y,'-o')
.
  4 件のコメント
Alvaro Mª Zumalacarregui Delgado
Alvaro Mª Zumalacarregui Delgado 2021 年 3 月 1 日
I think that it will work, thank you!
Star Strider
Star Strider 2021 年 3 月 1 日
As always, my pleasure!

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

その他の回答 (1 件)

Stephan
Stephan 2021 年 3 月 1 日
tspan = [0 5];
y0 = 100;
Q = 30;
b = 0.2;
[t,y] = ode45(@(t,y)Q-b*t*y, tspan, y0);
plot (t,y,'-o')

カテゴリ

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