matplotlib作業

第一題:

import numpy as np
import math
import matplotlib.mlab as mlab
import matplotlib.pyplot as plt
import scipy.stats as sc
plt.rcParams['font.sans-serif'] = ['SimHei']  # 用來正常顯示中文標籤
plt.rcParams['axes.unicode_minus'] = False  # 用來正常顯示負號

# 第一題
x = np.linspace(0, 2, 1000)
y = [math.exp(-i * i) * (np.sin(i - 2) ** 2) for i in x]


plt.figure(figsize=(8, 4))
plt.plot(x, y, color='red', linewidth=1)  # linewidth爲線有多粗
plt.xlabel('x')
plt.ylabel('f(x)')
plt.title('ex11.1')
plt.show()

結果:




第二題:


# 第二題

X = np.random.randn(20, 10)
b = np.random.randn(10, 1)
z = np.random.randn(20, 1)
y = np.dot(X, b) + z
inverse = np.linalg.inv(np.dot(X.T, X))
tmp = np.dot(inverse, X.T)
bmao = np.dot(tmp, y)

t = np.linspace(1, 10, 10)

plt.scatter(t, b.reshape(10, 1), c='r', label='true b')
plt.scatter(t, bmao.reshape(10, 1), c='b', label='estimated b')
plt.legend(loc='best')
plt.show()

結果:



第三題:


# 第三題

z = np.random.randn(10000)
plt.hist(z, bins=25, color='blue', edgecolor='black',
         density=True, label='Histogram')
x = np.linspace(-5, 5, 1000)
y = sc.gaussian_kde(z).pdf(x)
plt.plot(x, y, label='gaussian_kde')
plt.legend(loc='best')
plt.title('Histogram and density estimation')

plt.show()


結果:



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章