Drawing a heatmap of the max value of a state variable against two parameters in the system

2 Ansichten (letzte 30 Tage)
I am working with an epidemic ODE model and I wish to draw a heatmap of y(4) Max against the two parameters p and eta. Any help would be greatly appreciated. Thank you!!!
function dy=EpiModel(t,y)
dy = zeros(5,1);
%Model paramters
c = 0.001;
theta = 0.1134;
beta = 0.4;
p = 0.05;
eta = 0.05;
epsilon = 0.084;
gamma = 0.2;
delta = 0.011;
mu = 0.000011;
%Equations
dy(1) = theta - (p+c*beta*y(4)+mu)*y(1);
dy(2) = p*y(1) - (eta*c*beta*y(4)+mu)*y(2);
dy(3) = c*beta*y(4)*y(1) + eta*c*beta*y(4)*y(2) - (epsilon+mu)*y(3);
dy(4) = epsilon*y(3) - (gamma+delta+mu)*y(4);
dy(5) = gamma*y(4) - mu*y(5);
end
  5 Kommentare
Bas123
Bas123 am 15 Apr. 2023
Oh sorry, I should have specified them earlier. Here are the initial values: .

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Torsten
Torsten am 15 Apr. 2023
Verschoben: Torsten am 15 Apr. 2023
tspan = 0:0.01:100;
y0 = [100000;0;0;1;0];
p = 0.001:0.001:0.01;
eta = 0.001:0.001:0.02;
for i = 1:numel(p)
for j = 1:numel(eta)
[~,Y] = ode45(@(t,y)EpiModel(t,y,p(i),eta(j)),tspan,y0);
maxy4(i,j) = max(Y(:,4));
end
end
contourf(eta,p,maxy4)
colorbar
function dy=EpiModel(t,y,p,eta)
...
end

Weitere Antworten (0)

Kategorien

Mehr zu Colormaps finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by