Return to 三角関数の微分

参考:Python の Matplotlib で sin x と x のグラフを描く

参考:gnuplot で sin x と x のグラフを描く の Python 版。Python の Matplotlib で $y = \sin x $ と $y = x$ のグラフを描く。

$ |x| \ll 1 $ では2つのグラフはほとんど重なっていて $ \sin x \simeq x $ すなわち $\displaystyle \frac{\sin x}{x} \simeq 1$ であることを見て確かめる。

In [1]:
import matplotlib.pyplot as plt
import numpy as np
import matplotlib.patches as patches

# 以下はグラフを SVG で Notebook にインライン表示させる設定
%config InlineBackend.figure_formats = ['svg']
# グラフのサイズ
plt.rcParams["figure.figsize"] = (6, 6)

$ – \pi \leq x \leq \pi$ の範囲で $y = \sin x$ と $ y = x$ をプロット。

In [2]:
# 次に拡大表示する部分の矩形
fig, ax = plt.subplots()
ax.add_patch(
     patches.Rectangle((-1, -1), 2, 2,
        edgecolor = 'orange', linewidth = 1,
        fill=False      
     )
)

x = np.linspace(-np.pi, np.pi, 100)
# 横軸縦軸の表示範囲
plt.xlim(-np.pi, np.pi)
plt.ylim(-np.pi, np.pi)

plt.plot(x, np.sin(x), color = "red", linewidth = 2, label="sin x")
plt.plot(x, x, color = "blue", linewidth = 1, label="x")

# 主目盛にグリッド(格子線)
plt.grid(which="major", color="lightgray", ls="--", linewidth=0.5)
# x軸 y軸
plt.axhline(0, color='black', dashes=(5, 5), linewidth=0.5)
plt.axvline(0, color='black', dashes=(5, 5), linewidth=0.5)
plt.legend();

$ – 1 \leq x \leq 1$ の範囲で $y = \sin x$ と $ y = x$ をプロット。

In [3]:
# 次に拡大表示する部分の矩形
fig, ax = plt.subplots()
ax.add_patch(
     patches.Rectangle((-0.1, -0.1), 0.2, 0.2,
        edgecolor = 'orange', linewidth = 1,
        fill=False      
     )
)

x = np.linspace(-1, 1, 100)
# 横軸縦軸の表示範囲
plt.xlim(-1, 1)
plt.ylim(-1, 1)

plt.plot(x, np.sin(x), color = "red", linewidth = 2, label="sin x")
plt.plot(x, x, color = "blue", linewidth = 1, label="x")

# 主目盛にグリッド(格子線)
plt.grid(which="major", color="lightgray", ls="--", linewidth=0.5)
# x軸 y軸
plt.axhline(0, color='black', dashes=(5, 5), linewidth=0.5)
plt.axvline(0, color='black', dashes=(5, 5), linewidth=0.5)
plt.legend();

$ – 0.1 \leq x \leq 0.1$ の範囲で $y = \sin x$ と $ y = x$ をプロット。ほとんど重なっていて,区別がつきにくい。

In [4]:
x = np.linspace(-0.1, 0.1, 100)
# 横軸縦軸の表示範囲
plt.xlim(-0.1, 0.1)
plt.ylim(-0.1, 0.1)

plt.plot(x, np.sin(x), color = "red", linewidth = 2, label="sin x")
plt.plot(x, x, color = "blue", linewidth = 1, label="x")

# 主目盛にグリッド(格子線)
plt.grid(which="major", color="lightgray", ls="--", linewidth=0.5)
# x軸 y軸
plt.axhline(0, color='black', dashes=(5, 5), linewidth=0.5)
plt.axvline(0, color='black', dashes=(5, 5), linewidth=0.5)
plt.legend();