450 likes | 610 Vues
HIV Dynamics. Context. Preliminary. Problem. - code / result. Improved Euler. Runge-Kutta. - code / result. Conclusion. - s ummary / further. Preliminary. Improved Euler’s Method in system. Runge-Kutta Method in system. Problem. HIV-1 weakens human immune system like below. .
E N D
Context Preliminary Problem - code / result Improved Euler Runge-Kutta - code / result Conclusion - summary / further
Preliminary Improved Euler’s Method in system Runge-Kutta Method in system
Problem HIV-1 weakens human immune system like below. Virus infect lymphocytes and turn them into virus factory. → Virus make infected cells to be destroyed after once producing virus particles. → After virus repeating same procedure, immune system break down.
Problem In natural case, dynamics of HIV & cells
Problem = concentration of Target Cells = concentration of Infected Cells = concentration of Infectious Virus Particles
Problem = rate of virus infecting target cells = rate of cell loss = rate of virus being removed from blood = number of virus produced by infected cell
Problem Ritonavir : NEW medicine suppress the affect of HIV-1’s protease, so HIV-1 virus cannot enter into cells. Virus, made after injection of ritonavir, lost their infection ability.
Problem If patients take the medicine, the dynamics changed.
Problem V1 Vx = concentration of Infectious Virus = concentration of Non-Infectious Virus
Problem = 100/ = 0/ = 250 non-infected cells/ = 10 infected cells/ = 0.5 / day = 3.0 / day = /day/virions = 60 virions produced per cell
IE - MATLAB Code_ Initial values 1 2 3 4 5 6 i=1; %iteration counter X(1,:) =input('input initial value ([T*, V1, Vx]) = '); n = input('input number of iteration = '); day = input('input target time = '); h = day/n; %mesh size t = 0:h:day; %divide interval by mesh size
IE - MATLAB Code_ Calculation loop 7 8 9 10 11 12 13 14 %%%%%%%%%% CALCULATIONLOOP START %%%%%%%%%%%%%%%%%%% while i<=n k(1,:)= hiv(t(i)+h, X(i,:)+h*hiv(t(i),X(i,:))); X(i+1,:)= X(i,:)+h/2*(hiv(t(i),X(i,:))+k(1,:)); i=i+1; end %%%%%%%%%% CALCULATIONLOOP END %%%%%%%%%%%%%%%%%%%
IE - MATLAB Code_ Calculation_k k(1,:)= hiv(t(i)+h, X(i,:)+h*hiv(t(i),X(i,:))); ※h=0.001 0, X(1, :)
IE - MATLAB Code_ Calculation_k k(1,:)= hiv(t(i)+h, X(i,:)+h*hiv(t(i),X(i,:))); ※h=0.001 k(1,:)= hiv(t(i)+h, X(i,:)+h*hiv(t(i),X(i,:))); ※h=0.001
IE - MATLAB Code_ Calculation_X X(i+1,:)= X(i,:)+h/2*(hiv(t(i),X(i,:))+k(1,:)); (h=1/1000)
IE - Result T*
IE - Result V1
IE - Result Vx
IE - Result <n=1000> T*
IE - Result <n=1000> V1 Vx
IE Q&A
RK - MATLAB Code_ Initial values 1 2 3 4 5 6 i=1; %iteration counter X(1,:) =input('input initial value ([T*, V1, Vx]) = '); n = input('input start iteration = '); day = input('input target time = '); h = day/n; %mesh size t = 0:h:day; %divide interval by mesh size
RK - MATLAB Code_ Calculation loop 7 8 9 10 11 12 13 14 15 16 17 18 19 %%%%%%%%%% CALCULATIONLOOP START %%%%%%%%%%%%%%%%%%%%%% while i<=n k(1,:) = h*hiv(t(i),X(i,:)); %k1 k(2,:) = h*hiv(t(i)+h/2,X(i,:)+k(1,:)/2); %k2 k(3,:) = h*hiv(t(i)+h/2,X(i,:)+k(2,:)/2); %k3 k(4,:) = h*hiv(t(i)+h,X(i,:)+k(3,:)); %k4 X(i+1,:) = X(i,:)+(k(1,:)+2*k(2,:)+2*k(3,:)+k(4,:))/6; %calculate next node i=i+1; %count number of iteration end %%%%%%%%%% CALCULATIONLOOP END %%%%%%%%%%%%%%%%%%%%%%%%
RK - MATLAB Code_ Calculation_k k(1,:) = h*hiv(t(i),X(i,:)) ※h=0.001 0, X(1, :)
RK - MATLAB Code_ Calculation_k k(1,:) = h*hiv(t(i),X(i,:)) ※h=0.001 =
RK - MATLAB Code_ Calculation_X X(i+1,:) = X(i,:)+(k(1,:)+2*k(2,:)+2*k(3,:)+k(4,:))/6
RK - Result T*
RK - Result V1
RK - Result Vx
RK - Result <n=1000> T*
RK - Result <n=1000> V1 Vx
RK - MATLAB Code (built-in) function xprime = hiv(t,x); %hiv: Computes the derivatives involved in solving the %HIV dynamics equations. k=2*10^(-4); del=0.5; c=3; N=60; T=100; xprime=[k*x(2)*T-del*x(1) -c*x(2) N*del*x(1)-c*x(3)]; 1 2 3 4 5 6 7 8 9 1 (meshed) interval function initial condition [t x]=ode45(@hiv, [0:0.01:5], [10 100 0])
RK - Result (built-in) V1 Vx
RK Q&A
Conclusion <Improved Euler, n=1000> <Runge-Kutta 4th order, n=1000> <Runge-Kutta built-in>
Conclusion T* V1 Vx