Homework 10 Problems:

Page 469: #3
Page 478: #6
Page 481: #1
Page 522: #21 and #22

Page 469: #3

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}\)


Page 478: #6

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.

Page 481: #1

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

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.