runge-Kutta problem command ode45

조회 수: 1 (최근 30일)
Alvaro Mª Zumalacarregui Delgado
댓글: 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
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 CenterFile Exchange에서 Ordinary Differential Equations에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by