import matplotlib.pyplot as plt
import numpy as np
import scipy.stats
#ex 11.1
print("ex 11.1")
x=np.linspace(0,2,1000)
# y=np.power(np.sin(x-2),2)*np.exp(-np.power(x,2))
y=(np.sin(x-2))**2*np.exp(-(x**2))
plt.plot(x,y)
plt.xlabel("x")
plt.ylabel("y")
plt.title("$y=sin^2(x-2)e^{-x^2}$")
plt.show()
#ex 11.2
print("ex 11.2")
x=np.linspace(0,9,10)
X=np.random.normal(size=(20,10))
b=np.random.normal(size=(10,1))
z=np.random.normal(size=(20,1))
y=np.dot(X,b)+z
b1=np.dot(np.dot(np.linalg.inv(np.dot(X.T, X)), X.T), y)
plt.plot(x,b.reshape(10,1),'r+',label='True coefficients')
plt.plot(x,b1.reshape(10,1),'bo',label='Estimated coefficients')
plt.xlabel("index")
plt.ylabel("value")
plt.legend()
plt.show()
#ex 11.3
print("ex 11.3")
data = np.random.normal(size=(1000,1))
hist = np.histogram(data, bins=25)
hist_dist = scipy.stats.rv_histogram(hist)
plt.hist(data,bins=25,normed=True)
X = np.linspace(-5.0, 5.0, 100)
plt.plot(X, hist_dist.pdf(X), label='PDF',color='r')
plt.show()运行结果:
11.1

11.2

11.3

本文演示了如何使用Python的Matplotlib、NumPy、SciPy等库进行数学与统计学计算。包括基本的数学函数绘制、一元线性回归分析以及最小二乘法求解。通过实例代码,深入理解这些工具在实际问题解决中的应用。

1080

被折叠的 条评论
为什么被折叠?



