numpy+matplotlibでフレネル積分

wikipedia:フレネル積分を参考に。なんでやろうと思ったのかド忘れしたのでいろいろ雑。

from matplotlib import pyplot as plt
import numpy as np
from scipy.integrate import quad

MIN_X = 0.
MAX_X = 5.
RANGE = 0.001
T = int(MIN_X/RANGE)

t = np.arange(MIN_X, MAX_X, RANGE)

sx = []
cx = []
for i in t:
    sx.append(quad(lambda x: np.sin(x**2), MIN_X, i))
    cx.append(quad(lambda x: np.cos(x**2), MIN_X, i))

plt.plot(cx, sx)
plt.show()

S(x)とC(x)の図は以下。キャプションないけど青がS(x)で赤がC(x)。


オイラーの螺旋と呼ばれるもの。