見出し画像

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

この企画の目的

  • 毎日投稿のバッジ獲得(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))
W = 1.5 # x軸の表示範囲
ax.set_xlim(-W,W)
ax.set_ylim(-W/1.91, W/1.91)

ax.set_xticks(np.linspace(-1.5, 1.5, 7))
ax.set_yticks(np.linspace(-0.5, 0.5, 3))
ax.grid()

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

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

plt.savefig("x3-x.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 = np.pi # x軸の表示範囲
ax.set_xlim(-W,W)
ax.set_ylim(-W/1.91, W/1.91)

ax.set_xticks(np.linspace(-3, 3, 13))
ax.set_yticks(np.linspace(-1, 1, 5))
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(-np.pi, np.pi, 100):
  y0 = np.cos(x0); a = -np.sin(x0)
  y = a*(x-x0)+y0
  ax.plot(x,y, linewidth=0.5, color='#ff7f0e')

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


出力

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