python分段函数如何编写?
时间:2020-06-19 13:14
python分段函数如何编写?
python编写分段函数的方法:
1.绘制分段函数:y=4sin(4πt)-sgn(t-0.3)-sgn(0.72-t)
代码:
- #!/usr/bin/python
- # -*- coding:utf-8 -*-
- import numpy as np
- import matplotlib.pyplot as plt
- #绘制分段函数:y=4sin(4πt)-sgn(t-0.3)-sgn(0.72-t)
- def sgn(x):
- if x > 0:
- return 1
- elif x < 0:
- return -1
- else:
- return 0
- t = np.arange(0, 1, 0.01)
- y = []
- for i in t:
- y_1 = 4 * np.sin(4 * np.pi * i) - sgn(i - 0.3) - sgn(0.72 - i)
- y.append(y_1)
- plt.plot(t, y)
- plt.xlabel("t")
- plt.ylabel("y")
- plt.title("Heavsine")
- plt.show()
2.使用Matplotlib绘制分段函数:
代码:
- #!/usr/bin/python
- # -*- coding:utf-8 -*-
- import numpy as np
- import matplotlib.pyplot as plt
- def sgn(value):
- if value < 4:
- return 20
- else:
- return 15
- plt.figure(figsize=(6, 4))
- x = np.linspace(0, 8, 100)
- y = np.array([])
- for v in x:
- y = np.append(y, np.linspace(sgn(v), sgn(v), 1))
- l = plt.plot(x, y, 'b', label='type')
- plt.legend()
- plt.show()
3.绘制三角波形:
- #!/usr/bin/python
- # -*- coding:utf-8 -*-
- import numpy as np
- import matplotlib.pyplot as plt
- def triangle_wave(x, c, c0, hc):
- x = x - int(x) #三角波周期为1 因此只取小数部分进行计算
- if x < c0:
- return x / c0 * hc
- elif x >= c:
- return 0.0
- else:
- return (c-x)/(c-c0)*hc
- x = np.linspace(0, 2, 1000)
- y = np.array([triangle_wave(t, 0.6, 0.4, 1.0) for t in x])
- plt.figure()
- plt.plot(x, y)
- plt.ylim(-0.2, 1.2) #限制y的范围
- plt.show()
推荐教程:《python视频教程》
以上就是python分段函数如何编写?的详细内容,更多请关注gxlsystem.com其它相关文章!