ディープラーニングG検定の勉強中 その8(接線の方程式)

書籍「最短コースでわかるディープラーニングの数学」の内容に沿って勉強しています。

今回は、接線の方程式を求めますが、まずは直線の方程式から。


傾きがm、切片がbの直線の方程式は、以下の式となります。

式1
2-3-3-2.png

次に、点(p, q)を通る、傾きがm、切片がbの直線の方程式は、以下の式となります。
pはx座標の数値、qはy座標の数値なので、

2-3-3-3.png

このとき、bは以下のように置き換えることができます。

2-3-3-4.png

よって、求める方程式は以下となります。

式2
2-3-3-5.png


この式を元に、単なる直線ではなく、とある曲線の接点を通る接線の方程式にするには、
上記のp、q、mを以下のように置き換えて、

2-3-3-6.png

点(a, f(a))=接点 を通る方程式ができあがります。

式3
2-3-3-7.png


では、ここで、a=2のときの、接線の式を算出してみます。

関数のxに2を代入して、f(2) = 1
2-3-3-9.png

関数を微分して、xに2を代入して、f '(2) = 2
2-3-3-10.png

上記の値を接線の方程式に代入して、y = 2x - 3
2-3-3-11.png


それでは、関数と接線の方程式の直線をPythonを使ってグラフにしてみます。

--------------------
import matplotlib.pyplot as plt
import numpy as np

def main():
 x = np.arange(0, 3.1, 0.1)
 x2 = np.arange(0, 3.1, 0.1)

 y = np.arange(-2, 3, 0.1)
 y2 = np.arange(0, 3, 0.1)

 f = x**2 -2 * x + 1  #関数の曲線
 f2 = 2 * x2 - 3    #接線の直線

 y = f
 y2 = f2

 plt.plot(x, y)
 plt.plot(x2, y2)

 plt.grid(color='0.8')
 plt.show()

if __name__ == '__main__':
 main()

--------------------
出力結果

y = x^2 - 2x +1と、y = 2x - 3のグラフ
2-3-3-1.png

どうやら正解のようです。

ブログ気持玉

クリックして気持ちを伝えよう!

ログインしてクリックすれば、自分のブログへのリンクが付きます。

→ログインへ

なるほど(納得、参考になった、ヘー)
驚いた
面白い
ナイス
ガッツ(がんばれ!)
かわいい

気持玉数 : 0

この記事へのコメント