SciPy:`scipy.special.fresnel(x [,out1,out2])`中的参数是什么?

时间:2012-11-09 13:01:25

标签: numpy integration scipy fresnel

我正在尝试使用SciPy绘制回旋函数。 Here是菲涅耳积分的语法,但我无法理解xout1out2scipy.special.fresnel(x[, out1, out2])的参数是什么?说明中的公式大约是tz,它们不在函数中。

1 个答案:

答案 0 :(得分:2)

参数out1out2是可选的。你可以使用

s, c = fresnel(x)

docstring中显示的参数zx参数。这是一个不幸的差异 - 文档字符串应该与函数签名一致。

如果您已经有要在其中放置函数调用结果的数组,则可以使用参数out1out2。这允许您通过重用现有阵列来节省内存。

请注意,该函数的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()