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()
Другие вопросы по тегам