【第十二周】Matplotlib练习

Exercise 11.1: 

Plotting a function Plot the function

f(x) = sin2(x − 2)e−x2 over the interval [0, 2]. Add proper axis labels, a title, etc.

代码如下:

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0, 2, 1000)
y = np.power((np.sin(x - 2)), 2) * np.exp(-x * x)
plt.plot(x, y)
plt.show()

画图结果:



Exercise 11.2: Data 

Create a data matrix X with 20 observations of 10 variables. Generate a vector b with parameters Then generate the response vector y = Xb+z where z is a vector with standard normally distributed variables. Now (by only using y and X), find an estimator for b, by solving ˆb = arg min |Xb − y|2 Plot the true parameters b and estimated parameters ˆb. See Figure 1 for an example plot.

import numpy as np
import matplotlib.pyplot as plt
import math

X = np.random.randint(10, 20, (20, 10))
b = np.random.random(10)
z = np.random.random(20)

y = np.dot(X, b) + z
b1= np.linalg.lstsq(X, y)[0]  #最小二乘法生成线性方程

x = list(range(1, 11))
plt.scatter(x, b, c='r', marker='x', label='true coefficients')
plt.scatter(x, b1, c='b', marker='o', label='estimated coefficients')
plt.legend()
plt.show()

结果:



11.3Histogram and density estimation 

Generate a vector z of 10000 observations from your favorite exotic distribution. Then make a plot that shows a histogram of z (with 25 bins), along with an estimate for the density, using a Gaussian kernel density estimator (see scipy.stats). See Figure 2 for an example plot.

import numpy as np
from scipy import stats
import matplotlib.pyplot as plt
import math

x = np.random.normal(size=1000)
x=sorted(x)
plt.hist(x, bins=25,normed=1)
kernel = stats.gaussian_kde(x)
plt.plot(x, kernel.pdf(x))
plt.show()

结果


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值