您好,登錄后才能下訂單哦!
簡介:
分段函數,就是對于自變量x的不同的取值范圍,有著不同的解析式的函數。它是一個函數,而不是幾個函數;分段函數的定義域是各段函數定義域的并集,值域也是各段函數值域的并集。
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分段函數如何編寫?的詳細內容,更多請關注億速云其它相關文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。