python 画三角函数_python,将三角函数绘制成二维数组
看起來a, b, c是常量,z是a和{}之間的np.linspace。在a = 1
b = 2
c = 3
def triangle (z, a = a, b = b, c = c):
y = np.zeros(z.shape)
y[z <= a] = 0
y[z >= c] = 0
first_half = np.logical_and(a < z, z <= b)
y[first_half] = (z[first_half]-a) / (b-a)
second_half = np.logical_and(b < z, z < c)
y[second_half] = (c-z[second_half]) / (c-b)
return y
z = np.linspace(a, c, num = 51)
y = triangle(z, a, b, c)
q = np.vstack((z, y)) # shape = (2, 50) ... [[z, z, z, ...], [y, y, y, ...]]
q = q.T # shape = (50, 2) ... [[z, y], [z, y], ....]
在比較表達式中使用numpy-ndarray時,結果是一個布爾數組:
^{pr2}$
您可以使用布爾數組來選擇數組中滿足您條件的部分:>>> q[np.logical_and(q > 7, q < 11)]
array([ 7.34693878, 7.75510204, 8.16326531, 8.57142857,
8.97959184, 9.3877551 , 9.79591837, 10.20408163, 10.6122449 ])
>>>
在賦值語句中使用布爾索引時,右側的只分配給比較為True的索引:>>> q[np.logical_and(q > 7, q < 11)] = -1
>>> print(q)
[ 0. 0.40816327 0.81632653 1.2244898 1.63265306
2.04081633 2.44897959 2.85714286 3.26530612 3.67346939
4.08163265 4.48979592 4.89795918 5.30612245 5.71428571
6.12244898 6.53061224 6.93877551 -1. -1. -1. -1.
-1. -1. -1. -1. -1. 11.02040816
11.42857143 11.83673469 12.24489796 12.65306122 13.06122449
13.46938776 13.87755102 14.28571429 14.69387755 15.10204082
15.51020408 15.91836735 16.32653061 16.73469388 17.14285714
17.55102041 17.95918367 18.36734694 18.7755102 19.18367347
19.59183673 20. ]
>>>
總結
以上是生活随笔為你收集整理的python 画三角函数_python,将三角函数绘制成二维数组的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux里怎样压缩文件,如何在Linu
- 下一篇: python的使用说明_Python 的