Homework 10 Problems:
Page 469: #3
Page 478: #6
Page 481: #1
Page 522: #21 and #22
The following data were obtained for the growth of a sheep population introduced into a new environment on the island of Tasmania (adapted from J. Davidson, “On the Growth of the Sheep Population in Tasmania,” Trans. R. Soc. S. Australia 62(1938): 342-346).
| t (year) | 1814 | 1824 | 1834 | 1844 | 1854 | 1864 |
|---|---|---|---|---|---|---|
| P(t) | 125 | 275 | 830 | 1200 | 1750 | 1650 |
a. Make an estimate of M by graphing \(P(t)\).
data <- data.frame(t = c(1814, 1824, 1834, 1844, 1854, 1864),
p.t = c(125, 275, 830, 1200, 1750, 1650))
ggplot(data, aes(x=t, y=p.t)) + geom_point() +
ggtitle('P(t) vs. Year') +
labs(x = "Year", y = "P(t)") + ylim(0, 2000)
\(M\) = maximum population
Based on the resulting graph, the maximum population \(M\) can be estimated to be a value of 1950.
b. Plot $ln[(P/(M-P)] against t. If a logistic curve seems reasonable, estimate \(rM\) and \(t*\).
M <- 1950
data$lnP_MP <- log(data$p.t/(M - data$p.t))
datatable(data, rownames = FALSE, options = list(dom = 't'), filter = list(position = "top"))
p <- ggplot(data=data) + geom_point(aes(x=t, y=lnP_MP)) +
geom_hline(yintercept = 0, colour="blue") +
labs(y = "ln(P/M-P)", x = "Year")
# calculate the slope
p.coef <- coef(lm(lnP_MP ~ t, data = data))
p + geom_abline(intercept = p.coef[1], slope = p.coef[2], colour = "red") +
annotate("text", x = 1840, y = 1, label = paste0("slope = ", round(p.coef[2], 4)))
It seems reasonable to estimate, although we do notice a spike occurring between 1850 and 1860.
In the above plot, we approximate the slope to be 0.0989, which is \(rM\).
\(C = -2.6810215\)
Approximate \(t*\), given by:
\(t* = -C/rM\) = 27.1 as shown below:
t <- -(data$lnP_MP[1])/p.coef[2]
t
## t
## 27.09975
\(t* = 1814 + 27 = 1841 \text{ with 1814 being the first year of population}\)
Suggest other phenomena for which the model described in the text might be used.
Under the premise that something external is being added to a system and consumed within the system, a possible phenomena for this model would be the application of chlorine to a swimming pool. Chlorine is used to sanitize pool water and needs to be maintained within a certain range to be effective. Too much chlorine in the water is problematic whereas too little chlorine results in ineffective sanitation. Factors such as sunlight, temperature, rainfall, and activity in the pool can affect the rate a which chlorine burns off.
So, this model could be applied to describe the amount of clorine needed to be added to water over certain intervals to maintain levels within the effective range. The assumptions necessary for this would have to be an average/normal temperature range, consistent pool usage without excessive spikes (example, usage by a family of 4), and limited rainfall.
a. Using the estimate that \(d_b = 0.054v^2\), where 0.054 has dimension \(ft * hr^2/mi^2\), show that the constant \(k\) in Equation (11.29) has the value 19.9 \(ft/sec^2\).
\[ d_b = -v_0^2/2k + v_0^2/k = v_0^2/k\]
Problem 481-1a
b. Using the data in Table 4.4, plot \(d_b\) in ft versus \(v^2\) in \(ft^2/sec^2\) to estimate \(\frac{1}{k}\) directly.
For this problem, I couldn’t find Table 4.4. Section 4.4 of the book covers total stopping distance in Table 4.26. However, this specific problem is referring to braking distance which has previously been established with \(0.054v^2\). Therefore, I believe the problem is referencing Table 2.4 for braking distance on page 75. The calculations below will use data from Table 2.4.
speed<- c( 20,25,30,35,40,45,50,55,60,65,70,75,80) #mph
distance <- c(20, 28, 40.5, 52.5, 72, 92.5, 118, 148.5, 182, 220.5, 266, 318, 376) #ft
data <- data.frame(speed = speed, distance = distance)
# apply v^2/2 calculation to speed in mph
data$v2_2 = (data$speed^2)/2
# convert speed to ft^2/sec^2
data$speed_conv <- data$v2_2 * (5280^2) / (3600^2)
ggplot(data=data, aes(x=speed_conv, y=distance)) + geom_point(colour="blue") +
geom_line() + labs(y="Breaking Distance (ft)", x = "Speed^2/2")
Estimate the slope (k) of the plot above, which is distance as a function of \(Speed^2/2\):
# calculate the slope for the estimate of k
k <- coef(lm(distance ~ speed_conv, data = data))[2]
k
## speed_conv
## 0.0545909
# determine 1/k
(1/k)
## speed_conv
## 18.31807
We can estimate k = 18.3180724. Close but we know that \(k\) should be 19.9.