\(F = \frac {H}{H+KD}\)
Mydata <- read.csv("Titration.csv")
Mydata
## Volume..ml...measured. pH..measured.
## 1 0.0 3.130
## 2 1.0 3.579
## 3 2.0 3.757
## 4 3.0 3.909
## 5 4.0 4.032
## 6 5.0 4.032
## 7 6.0 4.150
## 8 7.0 4.257
## 9 8.0 4.355
## 10 9.0 4.445
## 11 10.0 4.505
## 12 11.0 4.628
## 13 12.0 4.710
## 14 13.0 4.813
## 15 14.0 4.914
## 16 15.0 5.033
## 17 16.0 5.165
## 18 16.5 5.293
## 19 17.0 5.354
## 20 17.5 5.436
## 21 18.0 5.556
## 22 18.5 5.715
## 23 19.0 5.928
## 24 19.5 6.255
## 25 20.0 7.019
## 26 20.5 9.452
Volume <- Mydata$Vol #volume Vector
Volume
## [1] 0.0 1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0 9.0 10.0 11.0 12.0 13.0 14.0
## [16] 15.0 16.0 16.5 17.0 17.5 18.0 18.5 19.0 19.5 20.0 20.5
pH <- Mydata$pH #pH Vector
pH
## [1] 3.130 3.579 3.757 3.909 4.032 4.032 4.150 4.257 4.355 4.445 4.505 4.628
## [13] 4.710 4.813 4.914 5.033 5.165 5.293 5.354 5.436 5.556 5.715 5.928 6.255
## [25] 7.019 9.452
plot(Volume,pH,main = "Volume of NaoH vs. pH of Solution",xlab = "volume (mL)", ylab = "pH")
H <- 10^-(pH) # H+ from pH
H
## [1] 7.413102e-04 2.636331e-04 1.749847e-04 1.233105e-04 9.289664e-05
## [6] 9.289664e-05 7.079458e-05 5.533501e-05 4.415704e-05 3.589219e-05
## [11] 3.126079e-05 2.355049e-05 1.949845e-05 1.538155e-05 1.218990e-05
## [16] 9.268298e-06 6.839116e-06 5.093309e-06 4.425884e-06 3.664376e-06
## [21] 2.779713e-06 1.927525e-06 1.180321e-06 5.559043e-07 9.571941e-08
## [26] 3.531832e-10
#volume added at the endpoint:
VE <- 20.5
#initial volume of unknown acid:
VI <- 20
#concentration of base NaOH:
CB <- 0.0954
# fraction bound for each data point
F <- (1-(((Volume*CB)+ ((H)*(VI+Volume)))/(VE*CB)))
F
## [1] 9.924190e-01 9.483887e-01 9.004706e-01 8.522083e-01 8.037380e-01
## [6] 7.549100e-01 7.063759e-01 6.577726e-01 6.091239e-01 5.604434e-01
## [11] 5.117156e-01 4.630413e-01 4.143151e-01 3.655941e-01 3.168612e-01
## [16] 2.681268e-01 2.193863e-01 1.950269e-01 1.706480e-01 1.462712e-01
## [21] 1.218972e-01 9.752303e-02 7.314719e-02 4.876926e-02 2.438829e-02
## [26] -7.313963e-09
library(nls2)
## Loading required package: proto
fit <- nls(F ~ H/(KD+H), start=c(KD=0.0001))
fit
## Nonlinear regression model
## model: F ~ H/(KD + H)
## data: parent.frame()
## KD
## 2.627e-05
## residual sum-of-squares: 0.01417
##
## Number of iterations to convergence: 5
## Achieved convergence tolerance: 6.467e-07
plot(pH,F)
lines(pH,F,col="blue")
length(pH)
## [1] 26
length(F)
## [1] 26
length(H)
## [1] 26