import numpy as np
import matplotlib.pyplot as plt
# Parameters
= 50 # true mean
mu = 10 # known standard deviation
sigma = 30 # sample size
n = 0.05 # significance level
alpha
# Generate a sample
0)
np.random.seed(= np.random.normal(mu, sigma, n)
sample = np.mean(sample)
sample_mean
# Calculate the confidence interval
= 1.96 # z-value for 95% confidence
z = z * (sigma / np.sqrt(n))
margin_of_error = (sample_mean - margin_of_error, sample_mean + margin_of_error)
confidence_interval
# Plot the sample and confidence interval
=(8, 4))
plt.figure(figsize=10, alpha=0.7, color='blue', edgecolor='black')
plt.hist(sample, bins='red', linestyle='dashed', linewidth=2, label='Sample Mean')
plt.axvline(sample_mean, color0], color='green', linestyle='dashed', linewidth=2, label='95% CI Lower Bound')
plt.axvline(confidence_interval[1], color='green', linestyle='dashed', linewidth=2, label='95% CI Upper Bound')
plt.axvline(confidence_interval['Sample Distribution with 95% Confidence Interval')
plt.title('Value')
plt.xlabel('Frequency')
plt.ylabel(
plt.legend()
plt.show()
print(f"Sample Mean: {sample_mean}")
print(f"95% Confidence Interval: {confidence_interval}")
Sample Mean: 54.42856447263174
95% Confidence Interval: (50.85011043026466, 58.007018514998826)