对于学编程的人来说,能将编写的程序封装成函数是一件多么开心的事,Python中也有大量的函数封装,那在Python怎么编写分段式函数呢?下面小编教给大家一些方法。
工具/原料
笔记本电脑(以Win7系统为例);
开发Python的软件(如:PyCharm)。
方法/步骤
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()
END
注意事项
上面实例均是在Python的开发软件PyCharm中编写的,点击运行后是后面的效果,其它的Python运行环境也可以(基于Python3最好);
使用matplotlib模块之前使用pip命令安装一下:pip install matplotlib
经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。
举报作者声明:本篇经验系本人依照真实经历原创,未经许可,谢绝转载。
展开阅读全部
更多推荐
用python实现分段函数_python分段函数如何编写
发布评论