# Why do the ode45 solver is not running in my code?

조회 수: 2(최근 30일)
Aman Gupta 2021년 5월 14일
편집: Aman Gupta 2021년 5월 14일
clear; clc;
a = 1; %alpha
p = 7.5; %rho
b = 4; %beta
g = 16; %gamma
u = 1/g; %mue
q = 1; %taking q(m) = 1 or m* = 1
k = 1500;
s = .5; %sigma
eta = 1;
c1 = 150; %C*
% V(1) = V, V(2) = F, V(3) = C,V(4) = M
f = @(t,V) [a*V(1)-p*V(1)*V(2);b*V(3)-g*p*V(1)*V(2)-a*V(2);-u*(V(3)-c1)+q*k*V(1)*V(2);s*V(1)-eta*V(4)];
Y0 = [10000;9850;c1;0];
[time,sol] = ode45(f,[0 8],Y0);
plot(time,sol(:,1),'b')
hold on
plot(time,sol(:,2),'r')
hold on
plot(time,sol(:,3),'g')
hold on
plot(time,sol(:,4),'m')

댓글을 달려면 로그인하십시오.

### 채택된 답변

Stephan 2021년 5월 14일
clear; clc;
a = 1; %alpha
p = 7.5; %rho
b = 4; %beta
g = 16; %gamma
u = 1/g; %mue
q = 1; %taking q(m) = 1 or m* = 1
k = 1500;
s = .5; %sigma
eta = 1;
c1 = 150; %C*
% V(1) = V, V(2) = F, V(3) = C,V(4) = M
f = @(t,V) [a*V(1)-p*V(1)*V(2);b*V(3)-g*p*V(1)*V(2)-a*V(2);-u*(V(3)-c1)+q*k*V(1)*V(2);s*V(1)-eta*V(4)];
Y0 = [10000;9850;c1;0];
[time,sol] = ode15s(f,[0 8],Y0);
plot(time,sol(:,1),'b')
hold on
plot(time,sol(:,2),'r')
hold on
plot(time,sol(:,3),'g')
hold on
plot(time,sol(:,4),'m')
##### 댓글 수: 1표시숨기기 없음
Aman Gupta 2021년 5월 14일
Thanks.
Any idea why the first plot is not getting plotted.

댓글을 달려면 로그인하십시오.

### Community Treasure Hunt

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

Start Hunting!

Translated by