我正在尝试使用SciPy绘制回旋函数。 Here是菲涅耳积分的语法,但我无法理解x
中out1
,out2
,scipy.special.fresnel(x[, out1, out2])
的参数是什么?说明中的公式大约是t
和z
,它们不在函数中。
答案 0 :(得分:2)
参数out1
和out2
是可选的。你可以使用
s, c = fresnel(x)
docstring中显示的参数z
是x
参数。这是一个不幸的差异 - 文档字符串应该与函数签名一致。
如果您已经有要在其中放置函数调用结果的数组,则可以使用参数out1
和out2
。这允许您通过重用现有阵列来节省内存。
请注意,该函数的scipy实现按pi / 2缩放参数。请参阅维基百科文章中的相关说明:http://en.wikipedia.org/wiki/Fresnel_integral
此脚本将生成维基百科文章中显示的第一个图:
import numpy as np
from scipy.special import fresnel
import matplotlib.pyplot as plt
t = np.linspace(0, 5.0, 201)
ss, cc = fresnel(t / np.sqrt(np.pi / 2))
scaled_ss = np.sqrt(np.pi / 2) * ss
scaled_cc = np.sqrt(np.pi / 2) * cc
plt.plot(t, scaled_cc, 'g--', t, scaled_ss, 'r-', linewidth=2)
plt.grid(True)
plt.show()