Fresnel積分S(x)・C(x)をπ/2正規化でグラフ・表計算

Fresnel積分S(x)・C(x)をπ/2正規化でグラフ・表計算

実数−10~10で標準Fresnel積分S、Cを複合Gauss–Legendre求積により計算します。

入力

-10以上10以下の第0点です。

0以外の有限値です。負なら降順になります。

初期値を含む1~201点です。

使い方

  1. xの初期値、増分、点数を入力します。
  2. SとCを同じ横軸で表示し、振動と1/2への収束を確認します。
  3. x=±1の既知値と奇関数の符号を表で検算します。

計算式・考え方

Fresnel積分をS(x)=∫_0^x sin(πt²/2)dt、C(x)=∫_0^x cos(πt²/2)dtと定義します。両方とも奇関数で、実軸上に極はありません。x→+∞でS(x)、C(x)はいずれも1/2へ収束し、負側では−1/2へ近づきます。

注意事項

  • NIST DLMF §7.2、§7.6、§7.12を2026年7月13日に照合しました。πt²/2を位相に含む正規化です。sin(t²)、cos(t²)型の資料とは横軸と係数が異なるため、数値だけを直接比較しないでください。
  • 最大201点、各点を最大25区間へ分け、各区間16点のGauss–Legendre公式で積分します。直接Taylor級数は|x|=5付近で大きな項の相殺を起こすため使いません。|x|<10^(−4)だけはC(x)=x、S(x)=πx³/6という先頭項を使い、最小の非正規数でもCの値とSの符号付き0を失わないようにします。Cornu spiral、回折、クロソイドの計算では座標や尺度の規約も合わせてください。
  • 積分で定義される特殊関数は、被積分関数だけを見て通常の数値積分を毎回行う方法と、収束級数、連分数、漸化式を使う方法があります。本ページ群は対象区間を明示して後者を中心に使い、Fresnel積分だけは振動へ対応する固定次数の複合Gauss–Legendre求積を使います。反復は最大256回、求積は区間に応じた最大25分割に制限し、収束しない場合や有限値にならない場合を黙って近似値に置き換えません。
  • 実数枝と複素主値は同じ記号でも一致しない場合があります。Ci、Chi、Ei、liでは対数特異点などに由来する枝の選択が重要です。このツールは実数入力から有限な実数結果だけを返す方針で、複素数の虚部を捨てて一般の複素関数を計算したことにはしません。採用した実数枝、特異点、対称性を式と注記に記載し、未定義点は0へ丸めず空白セルとして線を分断します。
  • 既知値を検算するときは関数の正規化も確認してください。特にFresnel積分にはsin(πt²/2)、cos(πt²/2)を使う定義と、sin(t²)、cos(t²)を使う定義があります。本ページはNIST DLMFと同じπ/2正規化です。指数積分と対数積分はCauchy主値を含むため、単純な片側広義積分として読まないでください。
  • 計算前に、初期値と最終点が意図した区間を覆うかを確認してください。例えば増分0.1で131点なら初期値から13だけ進みます。点数を増やすだけでは区間が細かくなるとは限らず、増分との組合せで決まります。比較用のグラフを作るときは、関数や次数を変えても開始点、終了点、刻みを揃えると形の違いを読み取りやすくなります。境界値を含める場合は、端点の定義や極の有無も先に確認してください。
  • 数値表では代表点を直接確認できます。グラフの縦軸が非常に大きな値へ引かれて小さな変化が見えない場合、必要な部分だけへ横軸を絞って再計算してください。零点の近くでは符号が変わる両側の値を表で読み、ちょうど0と丸めで小さく見える値を区別します。離散数列の点と連続関数の線には異なる表示方法を使い、存在しない中間値を暗示しないようにしています。
  • サンプル番号i=0,1,…,点数−1に対し、横軸は初期値+i×増分です。増分を負にすると右から左へ確認できます。点数は初期値を含み、最終点も関数固有の安全範囲に入る必要があります。表示は指定した有限個の標本点であり、点と点の間にある極値や零点をすべて探索する機能ではありません。変化が急な区間は範囲を狭め、刻みを小さくして再計算してください。
  • グラフと数値表は同じ計算結果を使い、表は横方向へスクロールできます。TSVコピーでは表示用の丸め文字列ではなく計算した数値を並べます。大きな値が指数表記になることや、浮動小数点の丸めで末尾がわずかに変わることがあります。任意精度計算ではないため、厳密証明や極端な桁数を必要とする用途では公式表や多倍長実装とも照合してください。
  • schema v4のsampled-series-v1と、コード側で許可した有界named functionだけを使います。各関数は引数、反復回数、有限性を検査し、範囲外や全セル未定義なら結果を出しません。一部のセルだけが未定義なら表では未定義とし、線グラフはその箇所で分断します。eval、new Function、外部API、fetch、XHR、WebSocketは使用しません。
  • 入力と計算は利用者のブラウザ内だけで完結し、サーバーへ数値を送信しません。ページ本文、追加CSS、追加JavaScriptの3点へ分離できる構成で、WordPressへの自動書き込みや公開処理も行いません。既存サイトの文字組みと横幅を尊重し、グラフ、表、入力欄だけにスコープを限定したスタイルを使います。
  • 別資料と比較するときは関数名だけでなく、添字の開始、規格化、上昇階乗と下降階乗、Bernoulli数B1の符号、解析接続の有無を確認してください。同じ記号が異なる規約を表す例があります。本ページは式と初期条件を本文に明記し、暗黙の規約差で答えがずれないようにしています。
  • 結果は学習、数表作成、実装検証を補助するものです。有限区間のグラフだけから関数全体の単調性、零点の個数、収束性、解析的性質を断定しないでください。代表点、境界点、既知の恒等式を組み合わせて確認し、重要な数値は用途に必要な誤差基準を別途定めてください。
  • 有界な倍精度の実数実装です。任意精度、複素解析、数学的証明を提供するものではありません。

よくある質問

SとCは偶関数ですか?

いいえ。どちらも奇関数です。

無限大で発散しますか?

振動しながら正側で1/2へ収束します。

sin(t²)型と同じですか?

正規化が異なります。本ページは位相πt²/2です。

入力した数値と生成系列は利用者の端末内だけで計算・表示され、外部へ送信または保存されません。個人情報の入力欄もありません。