Given the following cdf for a continuous variable with range from -3 to 4, develop a generator for the variable, generate 1000 values, and plot a histogram:
F(x) =
\[ 0, x \leq -3 \\ \frac{1}{2} + \frac{x}{6}, -3 \leq x \leq 0 \\ \frac{1}{2} + \frac{x^2}{32}, 0 < x \leq 4 \\ 1, x > 4 \]
#1k random values
ranVal <- runif(1000, min = -3, max = 4)
funcRes <- vector(mode="numeric", length = 1000)
for (i in 1:1000){
if(ranVal[i] <= -3){
funcRes[i] <- 0
} else if(ranVal[i] >= -3 & ranVal[i] <= 0){
funcRes[i] <- 1/2 + ranVal[i]/6
} else if(ranVal[i] >= 0 & ranVal[i] <= 4){
funcRes[i] <- 1/2 + (ranVal[i]**2)/32
} else if(ranVal[i] > 4){
funcRes[i] <- 1
}
}
summary(funcRes)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.0000598 0.2776000 0.5121000 0.4874000 0.6555000 0.9986000
hist(funcRes, main = "1k Values of CDF", xlab = "Random Variable")