SciPy: Каковы аргументы в `scipy.special.fresnel(x[, out1, out2])`?
Я пытаюсь построить функцию клотоиды с помощью SciPy. Вот синтаксис для интегралов Френеля, но я не могу понять, каковы аргументы x
, out1
, out2
в scipy.special.fresnel(x[, out1, out2])
? Формулы в описании о t
а также z
, которых нет в функции.
1 ответ
Аргументы out1
а также out2
являются необязательными. Ты можешь использовать
s, c = fresnel(x)
Аргумент 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()