高级编程 Matplotlib 作业

本次作业题目如下:
这里写图片描述
11.1
代码如下:

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


x = np.linspace(0, 2, 100)
y = np.sin(x-2)*np.sin(x-2)*np.exp(-(x*x))
plt.plot(x, y)
plt.xlabel("X")
plt.ylabel("Y")
plt.title("f(x) = sin^2(x-2)*exp(-x^2)")
plt.show()

绘制结果如图:
这里写图片描述

11.2

import matplotlib
import matplotlib.pyplot as plt
import numpy as np
from scipy.optimize import *

def find_est(b_est, X, y):
    return np.linalg.norm(np.dot(X, b_est) - y, ord = 2)

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

b_est =[]
i = 0
while i < 10:
    b_est.append([0])
    i = i+1
point = minimize(find_est, b_est, args=(X,y))
b_est_find = point.x
x_P = np.linspace(-5, 10, 10)

plt.figure()
plt.xlabel('x')
plt.ylabel('y')
point1 = plt.scatter(x_P, b, c='R')
point2 = plt.scatter(x_P, b_est_find, c='B')
plt.legend([point1, point2], ['true parameters b', 'estimated parameters b'])
plt.show()

结果如图:
这里写图片描述

11.3

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

ran_num = np.random.normal(loc=0, scale=1, size = 10000)
print(ran_num)
n, bins, patches = plt.hist(ran_num, bins = 25, normed = True)
y = matplotlib.mlab.normpdf(bins, 0, 1)
plt.plot(bins, y)
plt.xlabel('x')
plt.ylabel('y')
plt.title('Histogram and density estimation')
plt.show()

结果如图:
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值