library(tidyverse)
## -- Attaching packages --------------------------------------- tidyverse 1.3.1 --
## v ggplot2 3.3.5 v purrr 0.3.4
## v tibble 3.1.6 v dplyr 1.0.7
## v tidyr 1.1.4 v stringr 1.4.0
## v readr 2.1.1 v forcats 0.5.1
## -- Conflicts ------------------------------------------ tidyverse_conflicts() --
## x dplyr::filter() masks stats::filter()
## x dplyr::lag() masks stats::lag()
A + B -> C
A=0.2
B=0.15
C=0
k1=0.1
dt=0.01
t=0
CC=c()
tt=c()
AA=c()
BB=c()
while(t<1000){
AA=c(AA,A)
BB=c(BB,B)
CC=c(CC,C)
tt=c(tt,t)
dC= k1*A*B*dt
dB= -k1*A*B*dt
dA= -k1*A*B*dt
C=C+dC
t=t+dt
A=A+dA
B=B+dB
}
plot(tt,CC, type="l", lwd=2, xlim=c(0,500), ylim=c(0,0.2))
lines(tt,AA, type="l", col=6, lwd=2)
lines(tt,BB, type="l", col=2, lwd=2)

A+B-> C+S-> X
A=0.2
B=0.15
C=0
S=0.02
X=0
k1=0.1
k2=0.2
dt=0.01
t=0
CC=c()
tt=c()
AA=c()
BB=c()
SS=c()
XX=c()
while(t<1000){
AA=c(AA,A)
BB=c(BB,B)
CC=c(CC,C)
XX=c(XX,X)
SS=c(SS,S)
tt=c(tt,t)
dC= k1*A*B*dt
dB= -k1*A*B*dt
dA= -k1*A*B*dt
dS= dC - k2*C*S
dX= -dC + k2*C*S
C=C+dC
t=t+dt
A=A+dA
B=B+dB
S=S+dS
X=X+dX
}
plot(tt,CC, type="l", lwd=2, xlim=c(0,500), ylim=c(0,0.2), col= "red")
lines(tt,AA, type="l", col=6, lwd=2)
lines(tt,BB, type="l", col=2, lwd=2)
lines(tt,SS, type="l", col="tan", lwd=2)
lines(tt,XX, type="l", col=5, lwd=2)
legend(450,0.2, legend=c("[C]","[A]","[B]","[S]","[X]"), col=c("red",6,2,"tan",5),lwd=3 , cex=0.5)
