您的位置:首页 > 技术中心 > 其他 >

python分段函数如何编写?

时间:2020-06-19 13:14

python分段函数如何编写?

python编写分段函数的方法:

1.绘制分段函数:y=4sin(4πt)-sgn(t-0.3)-sgn(0.72-t)

代码:

  1. #!/usr/bin/python
  2. # -*- coding:utf-8 -*-
  3. import numpy as np
  4. import matplotlib.pyplot as plt
  5. #绘制分段函数:y=4sin(4πt)-sgn(t-0.3)-sgn(0.72-t)
  6. def sgn(x):
  7. if x > 0:
  8. return 1
  9. elif x < 0:
  10. return -1
  11. else:
  12. return 0
  13. t = np.arange(0, 1, 0.01)
  14. y = []
  15. for i in t:
  16. y_1 = 4 * np.sin(4 * np.pi * i) - sgn(i - 0.3) - sgn(0.72 - i)
  17. y.append(y_1)
  18. plt.plot(t, y)
  19. plt.xlabel("t")
  20. plt.ylabel("y")
  21. plt.title("Heavsine")
  22. plt.show()

662f89dd2589ebdf83b68bef2e39eaa.png

51b2feb05988a2cf457839a1c0cf03f.png

2.使用Matplotlib绘制分段函数:

代码:

  1. #!/usr/bin/python
  2. # -*- coding:utf-8 -*-
  3. import numpy as np
  4. import matplotlib.pyplot as plt
  5. def sgn(value):
  6. if value < 4:
  7. return 20
  8. else:
  9. return 15
  10. plt.figure(figsize=(6, 4))
  11. x = np.linspace(0, 8, 100)
  12. y = np.array([])
  13. for v in x:
  14. y = np.append(y, np.linspace(sgn(v), sgn(v), 1))
  15. l = plt.plot(x, y, 'b', label='type')
  16. plt.legend()
  17. plt.show()

1f10ee4c5580a0a217577684be9989d.png

859b6ff1e0a48b533aff3088a8a9e9b.png

3.绘制三角波形:

  1. #!/usr/bin/python
  2. # -*- coding:utf-8 -*-
  3. import numpy as np
  4. import matplotlib.pyplot as plt
  5. def triangle_wave(x, c, c0, hc):
  6. x = x - int(x) #三角波周期为1 因此只取小数部分进行计算
  7. if x < c0:
  8. return x / c0 * hc
  9. elif x >= c:
  10. return 0.0
  11. else:
  12. return (c-x)/(c-c0)*hc
  13. x = np.linspace(0, 2, 1000)
  14. y = np.array([triangle_wave(t, 0.6, 0.4, 1.0) for t in x])
  15. plt.figure()
  16. plt.plot(x, y)
  17. plt.ylim(-0.2, 1.2) #限制y的范围
  18. plt.show()

906e57be365c8bf6efb2e48d69ffe4b.png

e0847551fa686f602d3a150aa8681b9.png

推荐教程:《python视频教程》

以上就是python分段函数如何编写?的详细内容,更多请关注gxlsystem.com其它相关文章!

热门排行

今日推荐

热门手游