【CME 193】 Matplotlib

本题涉及使用Matplotlib库绘制函数图像,在使用前要先给python安装该库。

使用numpy.linspace在[0,2]区间上均匀取样x值:

再通过numpy相关计算得到f(x)值,从而使用matplotlib.pyplot.plot来绘制函数图像:

而后经过一系列设置即满足题意,代码如下:

import numpy as np  
import matplotlib.pyplot as plt  

x = np.linspace(0,2,200,endpoint=True)  
func = np.square(np.sin(x-2)) * np.exp(-x * x) 
plt.plot(x,func)

plt.xlim(x.min()*1.1, x.max()*1.1)  
plt.ylim(func.min()*1.1, func.max()*1.1)  

plt.xlabel('x')
plt.ylabel('y')
plt.title("Exercise 11.1: Plotting a function") 

plt.show()



本题涉及最小二乘法的拟合问题,原理见:

(https://baike.baidu.com/item/最小二乘法/2522346?fr=aladdin)

本体使用np.linalg.lstsq求得最小二乘解:

使用matplotlib.pyplot.scatter绘制散点图:

代码如下:

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

X = np.random.randn(20, 10) * random.randint(1, 10)
b = np.random.randn(10, 1) * random.randint(1, 10)
print(b)
z = np.random.randn(20, 1)
Y = np.dot(X, b) + z
b1= np.linalg.lstsq(X, Y, rcond=None)[0]
print(b1)

plt.scatter(range(10), list(b.T), s=100)
plt.scatter(range(10), list(b1.T), s=100, marker='x')
plt.legend(['b','^b'])
plt.title("Exercise 11.2: Data") 
plt.show()


本题涉及直方图及其核密度估计,使用到了Seaborn库,它是基于Matplotlib的。

帖出一篇详细的博客,介绍了distplot与kdeplot相关,与其中有我所使用函数的详细介绍:

(https://zhuanlan.zhihu.com/p/24464836)

代码如下:

import numpy as np
import matplotlib.pyplot as plt
import random
import seaborn as sns

data = np.random.randn(10000)
sns.distplot(data, bins=25, kde=True)

plt.show()


2018.05.29
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值