python绘制函数曲线,numpy绘制折线图
NumPy(NumericalPython)是Python的开源数值计算扩展。本文将利用NumPy库绘制李萨如曲线,计算斐波那契数列,方波,锯齿波,三角波,供参考。
00-1010一、李萨如曲线二。计算斐波那契数列III。方波IV。锯齿波和三角波在NumPy中,所有的标准三角函数如sin、cos、tan都有相应的通用函数。
目录
李萨如曲线是使用三角函数的一种有趣的方式(李萨如曲线显示在示波器上)。Saru曲线由以下参数方程定义:
x=sin(n/2处)
y=B sin(bt)
Saru曲线的参数有A,B,A,B,为了简单起见,我们把A,B都设为1,设置参数a=9,b=8。
将numpy作为np导入
将matplotlib.pyplot作为plt导入
A=B=1
a=9
b=8
T=NP。linspace (-NP。Pi,NP。Pi,201) #使用Linspace函数初始化变量t。
X=NP。sin(a * t np.pi/2)# sin函数和NumPy常数pi计算变量x
Y=NP。sin(b * t)# sin函数计算变量y。
plt.plot(x,y)
plt.show()
运行结果:
一、利萨茹曲线
斐波那契数列的递推关系可以用矩阵表示。斐波那契数列的计算等价于矩阵的连续乘法。斐波那契数列可以用两种方法计算。
1)黄金比例计算法,在不改变浮点类型的情况下,使用rint函数对浮点数进行舍入。
1,1,2,3,5,8,13,21,34,55,89,……
#斐波那契数,用黄金分割公式或者俗称的比奈。阿尔弗雷德公式,加上四舍五入的功能。
n=np.arange(1,9)
sqrt5=np.sqrt(5)
Phi=(1 sqrt5)/2 #用根号5计算黄金分割比,或者直接用phi=1 0.618。
打印(刻度:,phi)
打印( \n )
Fibonacci=NP . rint((phi * * n-(-1/phi)* * n)/sqrt 5)#使用rint()函数对浮点数进行舍入,而不更改浮点类型。
打印(斐波那契,斐波那契)
2)使用矩阵计算:使用矩阵函数创建矩阵。
#斐波那契数,用矩阵表示斐波那契数列的递推关系
F=np.matrix([[1,1],[1,0]])
print(第8个斐波那契: ,(F ** 10)[0,0])
运行结果:
比例:1。59860 . 68868886861
斐波那契[ 1。1.2.3.5.8.13.21.]
第8次斐波那契: 89
二、计算斐波那契数列
方波可以近似表示为多个正弦波的叠加。任何方波信号都可以用无穷傅立叶级数来表示。
需要积累很多级数,级数越多,结果越准确。这里k=99(可以设置为9,50,1000等。测试和观察产生的效果)以确保足够的准确性。画方波的步骤如下。
1)初始化t和k,并将函数值初始化为
M=NP。Linspace (-NP。pi,NP。pi,201) # 201点从-pi到PI均匀分布
K=np.arange(1,99) # k=99保证足够的精度,如图中9 20 99的波形所示。
k=2 * k - 1
f=np.zeros_like(m)
2)使用sin()查找正弦函数,使用sum()计算级数:
对于I in range (len (m)) 3360 #使用sin和sum函数进行计算。
f[i]=np.sum(np.sin(k * m[i])/k)
f=(4/np.pi) * f
3)绘制波形
plt.plot(t,f)
plt.show()
三、方波
锯齿波和三角波也是常见的波形。与方波类似,它们也可以表示为无穷傅立叶级数。通过取锯齿波的绝对值可以得到三角波。锯齿波的无穷级数表达式如下:
将numpy作为np导入
将matplotlib.pyplot作为plt导入
t=np.linspace(-np.pi,np.pi,201)
k=np.arange(1,99)
f=np.zeros_like(t)
对于范围内的I(len(t)):
f[I]=NP . sum(NP . sin(2 * NP . pi * k * t[I])/k)
f=(-2/np.pi) * f
plt.plot(t,f,lw=1.0)
plt.plot(t,np.abs(f),lw=2.0)
plt.show()
运行结果:
以上是Python NumPy绘制常用曲线方法的详细内容。更多关于Python NumPy的曲线绘制,请关注盛行的IT软件开发工作室的其他相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。