2

SciPyを使用してクロソイド関数をプロットしようとしています。これがフレネル積分の構文ですが、?の引数x、、が何であるか理解できません。説明の式は、関数に含まれていないaboutと、です。out1out2scipy.special.fresnel(x[, out1, out2])tz

4

1 に答える 1

2

引数out1out2はオプションです。使用できます

s, c = fresnel(x)

zdocstring に示されている引数がx引数です。これは残念な矛盾です。docstring は関数のシグネチャと一致している必要があります。

引数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()
于 2012-11-09T13:33:46.227 に答える