SciPyを使用してクロソイド関数をプロットしようとしています。これがフレネル積分の構文ですが、?の引数x
、、が何であるか理解できません。説明の式は、関数に含まれていないaboutと、です。out1
out2
scipy.special.fresnel(x[, out1, out2])
t
z
2174 次
1 に答える
2
引数out1
とout2
はオプションです。使用できます
s, c = fresnel(x)
z
docstring に示されている引数がx
引数です。これは残念な矛盾です。docstring は関数のシグネチャと一致している必要があります。
引数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()
于 2012-11-09T13:33:46.227 に答える