NumPy实验(1)
NumPy实验(2)
NumPy实验(3)
SciPy实验(1)
- 请结合最小二乘法的原理,利用以前学的Numpy和Python知识,实现最小乘法直线拟合的算法,并测试。
- 请结合梯度下降的原理,利用以前学的Numpy和Python知识,实现梯度下降法求函数最小值的算法,并测试。
- 梯度下降法:
- 共轭梯度法:
SciPy实验(2)
2.请用数值积分,实现y=sqrt(x)在0-1之间的积分值,写出代码和结果。
3.请结合scipy的矩阵svd分解,验证svd分解对图像压缩的实现效果。
SciPy实验(3)
- 请生成y=sin(2*pi*t)+sin(4*pi*t)的时间信号,时间间隔10ms一个数据点,然后给这个信号注入0.1倍的标准正态分布噪声数据,然后设计滤波器将噪声滤除掉。列出代码和对比图。
2.请生成y=sin(2pit)+sin(5pit)+sin(10pit)的时间信号,然后注入0.1倍的标准正态分布噪声数据,然后分别画出时间域的信号图,以及加入噪声前以及加入噪声后的FFT傅里叶变换后的频谱图。
Matplotlib实验(1)
- 请加载sklearn的莺尾花数据,然后写代码画三种花瓣长和宽的散点分布图,绘制效果如下图所示。
- 在数据结构中我们经常用到算法时间复杂度的概念,其中常用的几个算法时间复杂度如下所示:
O(1)<O(log2(n))<O(n)<O(nlog2(n))<O(n2)<O(n3)O(1)<O(log2(n))<O(n)<O(nlog2(n))<O(n^2)<O(n^3)O(1)<O(log2(n))<O(n)<O(nlog2(n))<O(n2)<O(n3)
现在有如下几个算法时间复杂度的函数,请绘制图像:n从1到1000
F(n)=500log2(n)F(n)=500log2(n)F(n)=500log2(n)
F(n)=100nF(n)=100nF(n)=100n
F(n)=10nlog2(n)F(n)=10nlog2(n)F(n)=10nlog2(n)
F(n)=n2/2F(n)=n^2/2F(n)=n2/2
F(n)=n3/10F(n)=n^3/10F(n)=n3/10
- 绘制折线图,将这些图绘制在一张图里面,注意要标注好每个线代表哪个复杂度函数,如果n不合适,可以继续增加或者减少,最好是能够体现时间复杂度的变化趋势来。
- 请绘制2张子图,第一张图上绘制xnx^nxn,n从1到10,x范围为0-1,第二张图上绘制xax^axa,a从1.0到0.1,x的范围还是0-1.
Matplotlib实验(2)
- 请加载sklearn的莺尾花数据,然后画柱状图、饼图和直方图
In [ ]
import numpy as np
import matplo