我正在尝试使用scipy绘制衣服的功能。这是Fresnel积分的语法,但我不明白scipy.special.fresnel(x[, out1, out2])
中的参数x
,out1
,out2
是什么?描述中的公式是关于t
和z
的,它们不在功能中。
参数 out1
和 out2
是可选的。您可以使用
s, c = fresnel(x)
DOCSTRING中显示的参数z
是x
参数。这是一个不幸的差异 - docstring应该与功能签名一致。
如果您已经有要在其中包含函数调用的结果的数组,则可以使用参数out1
和out2
。这使您可以通过重复现有数组来保存内存。
请注意,函数的Scipy实现将参数按PI/2缩放。请参阅Wikipedia文章中的注释:http://en.wikipedia.org/wiki/fresnel_integral
此脚本将生成Wikipedia文章中显示的第一个图:
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()