見出し画像

フォトギャラリー用グラフ#14

この企画の目的

  • 毎日投稿のバッジ獲得(365日)のため少ない労力で記事を書く

  • 「みんなのフォトギャラリー」で使える数学の画像を増やす

  • 理屈は抜きで、目で見て数学を楽しんで頂く

画像の説明

3次関数$${y=\sin x}$$のグラフの接線をたくさん描きました。前々回と同じですが、描画範囲を変えました。

ソースコード

以下は、グラフの描画に用いたPythonのコードです。Google Collaboratory で実行しました。

import matplotlib.pyplot as plt
import numpy as np

plt.rcParams['font.size'] = 14 # デフォルトの文字サイズ
r = 5.0
fig, ax = plt.subplots(figsize=(1.91*r,r))
eps = 0.1
W = 2*np.pi # x軸の表示範囲
ax.set_xlim(-W,W)
ax.set_ylim(-W/1.91, W/1.91)

ax.set_xticks(np.linspace(-6, 6, 13))
ax.set_yticks(np.linspace(-3, 3, 7))
ax.grid()

x = np.linspace(-W, W, 300)
y = np.sin(x)
ax.plot(x,y)

x = np.array([-W, W])
for x0 in np.linspace(-np.pi, np.pi, 101):
  y0 = np.sin(x0); a = np.cos(x0)
  y = a*(x-x0)+y0
  ax.plot(x,y, linewidth=0.5, color='#ff7f0e')

plt.savefig("sin2.png",format="png",dpi=300)
plt.show()

$${y = cos x$$版です(少し左にズレただけです)。

import matplotlib.pyplot as plt
import numpy as np

plt.rcParams['font.size'] = 14 # デフォルトの文字サイズ
r = 5.0
fig, ax = plt.subplots(figsize=(1.91*r,r))
eps = 0.1
W = 2*np.pi # x軸の表示範囲
ax.set_xlim(-W,W)
ax.set_ylim(-W/1.91, W/1.91)

ax.set_xticks(np.linspace(-6, 6, 13))
ax.set_yticks(np.linspace(-3, 3, 7))
ax.grid()

x = np.linspace(-W, W, 300)
y = np.cos(x)
ax.plot(x,y)

x = np.array([-W, W])
for x0 in np.linspace(-W, W, 201):
  y0 = np.cos(x0); a = -np.sin(x0)
  y = a*(x-x0)+y0
  ax.plot(x,y, linewidth=0.5, color='#ff7f0e')

plt.savefig("cos2.png",format="png",dpi=300)
plt.show()


出力結果

この記事が気に入ったらサポートをしてみませんか?