How to Do Trigonometric Range of Floats in Python?
本问题已经有最佳答案,请猛点这里访问。
MATLAB
1 2 3 | x = 0:pi/100:2*pi; y = sin(x); plot(y) |
我认为
1 2 | import math x = pseudoRange(0.0, 2*math.pi, math.pi/100); |
号
取
如何在python中获得浮点的三角范围?
使用生成器表达式:
1 | (math.pi/100*k for k in range(200)) |
如果要将结果作为列表使用:
1 | [math.pi/100*k for k in range(200)] |
号
您还可以使用列表理解方法获取相应的y值:
1 2 | x = [math.pi/100*k for k in range(200)] y = [math.sin(p) for p in x] |
然后,可以使用matplotlib绘制一对
请注意,上述各点的范围是从
您可以使用
1 2 3 4 | >>> np.arange(0, 2*math.pi, math.pi/100) array([ 0. , 0.03141593, 0.06283185, 0.09424778, 0.12566371, # ... 190 more ... 6.12610567, 6.1575216 , 6.18893753, 6.22035345, 6.25176938]) |
。
您也可能对
1 2 3 4 | >>> np.linspace(0, 2*math.pi, 200) array([ 0. , 0.0315738 , 0.06314759, 0.09472139, 0.12629518, # ... 190 more ... 6.15689013, 6.18846392, 6.22003772, 6.25161151, 6.28318531]) |
使用
然后你可以用
1 2 3 4 5 6 7 | >>> from matplotlib import pyplot >>> x = np.arange(0, 2*math.pi, math.pi/100) >>> y = np.sin(x) # using np.sin >>> y = [math.sin(r) for r in x] # using list comprehension >>> pyplot.plot(x, y) [<matplotlib.lines.Line2D at 0xb3c3210c>] >>>pyplot.show() |
。
假设您已经安装了
1 2 3 4 5 6 7 8 | import pylab as pl x = pl.linspace(0, 2*pl.pi,201) # x is an array y = pl.sin(x) # y is computed with an array expression pl.plot(x, y,"ro-", label="Sine(t)") pl.legend(loc='best') pl.xlabel('$\\omega_o t$') pl.show() |
。
还可以直接导入所有
1 2 3 4 5 | from pylab import * x = linspace(0, 2*pi, 201) y = sin(x) ... |
但不建议这样做,因为您的命名空间中现在有将近1000个新的、不合格的名称…
严格来说,