Professional Documents
Culture Documents
function dy = optimalkontrol(~)
% Parameters of the model
b = 0.0121; epsilon = 0.016;
alpha = 0.16; y = 0.0969075;
beta = 0.95; k = 0.0000684 ; mu = 0.002;
theta = 0.1; eta = 0.00125925;
m = 0.00693;
A = zeros(1,M+1);
W = zeros(1,M+1);
P = zeros(1,M+1);
C = zeros(1,M+1);
% Iterations of the method
while(test < 0)
oldS = S; oldE = E; oldI = I; oldL = L; oldR = R; oldV = V;
oldLambda1 = Lambda1; oldLambda2 = Lambda2;
oldLambda3 = Lambda3; oldLambda4 = Lambda4;
oldLambda5 = Lambda5; oldLambda6 = Lambda6;
oldA = A; oldW = W; oldP = P; oldC = C;
%Forward Runge-Kutta iterations
for i = 1:M
% Differential equations of the model
143
auxC = C(i);
aux3 = beta*I(i)*S(i);
aux4 = alpha*beta*L(i)*S(i);
aux3a = beta*auxIa*auxSa;
aux4a = alpha*beta*auxLa*auxSa;
144
auxA2 = A(i+1);
auxW2 = W(i+1);
auxP2 = P(i+1);
auxC2 = C(i+1);
aux3c = beta*auxIc*auxSc;
aux4c = alpha*beta*auxLc*auxSc;
end
auxA3 = A(j);
auxW3 = W(j);
auxP3 = P(j);
auxC3 = C(j);
145
auxVd = 0.5*(V(j) + V(j-1));
auxSd = 0.5*(S(j) + S(j-1));
auxEd = 0.5*(E(j) + E(j-1));
auxId = 0.5*(I(j) + I(j-1));
auxLd = 0.5*(L(j) + L(j-1));
auxRd = 0.5*(R(j) + R(j-1));
146
auxVe = V(j-1);
auxSe = S(j-1);
auxEe = E(j-1);
auxIe = I(j-1);
auxLe = L(j-1);
auxRe = R(j-1);
end
% New vector control
for i = 1:M+1
147
haux(i) = L(i) * (Lambda5(i) - Lambda6(i))*(1/2.7);
auxP7 = min([1 max([0 haux(i)])]);
P(i) = 0.5*(auxP7 + oldP(i));
for i = 1:M+1
J(i) = sum ((I.*0.04 + L.*0.05 + 0.75.*A.^2 + 1.35.*C.^2 + 0.5.*W.^2
+ 0.5.*P.^2 ));
end
hold off;
%axis([1 1200 0 42]);
148
Listing Program MATLAB untuk pemodelan penyakit Hepatits B tanpa kontrol
optimal
function dy = modelpenyakit(~)
% Parameters of the model
b = 0.0121; epsilon = 0.016;
alpha = 0.16; y = 0.00969075;
beta = 0.95; k = 0.0000684 ; mu = 0.002;
theta = 0.1; eta = 0.00125925;
m = 0.000693;
S(1) =100; E(1) = 90; I(1) = 80; L(1) = 70; R(1) = 50; V(1) = 40;
% Iterations of the method
while(test < 0)
oldS = S; oldE = E; oldI = I; oldL = L; oldR = R;
%Forward Runge-Kutta iterations
for i = 1:M
% Differential equations of the model
aux3a = beta*auxIa*auxSa;
aux4a = alpha*beta*auxLa*auxSa;
149
% Third Runge-Kutta parameter
auxSb = S(i) + h2 * auxS2; auxEb = E(i) + h2 * auxE2;
auxIb = I(i) + h2 * auxI2; auxLb = L(i) + h2 * auxL2; auxRb = R(i) +
h2 * auxR2;
aux3b = beta*auxIb*auxSb;
aux4b = alpha*beta*auxLb*auxSb;
aux3c = beta*auxIc*auxSc;
aux4c = alpha*beta*auxLc*auxSc;
test = min(temp1,min(temp2,min(temp3,min(temp4,temp5))));
end
dy(1,:) = t; dy(2,:) = S; dy(3,:) = E;
dy(4,:) = I; dy(5,:) = L; dy(6,:) = R;
plot(I); hold on;
hold off;
%axis([1 1200 0 200]);
150