実装で学ぶベクトル(概要と例題解説)|高校数学の例題解説&基本演習 #3

f:id:lib-arts:20190916165359p:plain

以前のシリーズで機械学習アルゴリズムであるニューラルネットワークやランダムフォレストに絡めて高校レベルの数学の様々なトピックについて取り扱いました。

関数や行列など様々なトピックを取り扱ったものの、いくつか取り扱えなかったものがあるので取り扱わなかったものを中心に再収録を行なっていきます。
#1と#2では数列と漸化式について取り扱いました。

数列と漸化式①(概要と例題解説)|高校数学の例題解説&基本演習 #1 - lib-arts’s diary

数列と漸化式②(問題演習)|高校数学の例題解説&基本演習 #2 - lib-arts’s diary
#3ではPythonでのプログラミングを通してベクトルについて取り扱います。
以下目次になります。
1. ベクトルの加減とPythonでの実装
2. 位置ベクトルと二点間の距離
3. まとめ

 

1. ベクトルの加減とPythonでの実装
1節ではベクトルの加減とPythonにおける実装について取り扱います。まずはベクトル(vector)に関してですが、大きさに向きを伴った量として考えておくと良いです。普段変数として扱うことの多い大きさだけの量をベクトルと区別してスカラー(scalar)などと言います。

ex.03
下記のベクトルをPythonを用いて図式化せよ。(始点としては原点(0,0)を取るものとする)
1) (1,1)
2) (-2,1)
3) (1,1)+(-2,1)
4) (1,1)-(-2,1)

Answer.
1)
下記コードで実装できる。

import numpy as np
import matplotlib.pyplot as plt

plt.quiver(0,0,1,1,angles='xy',scale_units='xy',scale=1,color="green")

# グラフの表示
plt.xlim([-1,2])
plt.ylim([-1,2])
plt.grid()
plt.draw()
plt.show()

実行結果は下記のようになる。

f:id:lib-arts:20190916171401p:plain
2)
下記コードで実装できる。

import numpy as np
import matplotlib.pyplot as plt

plt.quiver(0,0,-2,1,angles='xy',scale_units='xy',scale=1,color="green")

# グラフの表示
plt.xlim([-3,1])
plt.ylim([-1,2])
plt.grid()
plt.draw()
plt.show()

実行結果は下記のようになる。

f:id:lib-arts:20190916171418p:plain
3)
下記コードで実装できる。

import numpy as np
import matplotlib.pyplot as plt

plt.quiver([0,1],[0,1],[1,-2],[1,1],angles='xy',scale_units='xy',scale=1,color="g")

# グラフの表示
plt.xlim([-3,3])
plt.ylim([-2,4])
plt.grid()
plt.draw()
plt.show() 

実行結果は下記のようになる。

f:id:lib-arts:20190916171440p:plain
4)
下記コードで実装できる。

import numpy as np
import matplotlib.pyplot as plt

plt.quiver([0,1],[0,1],[1,2],[1,-1],angles='xy',scale_units='xy',scale=1,color="g")

# グラフの表示
plt.xlim([-2,4])
plt.ylim([-2,4])
plt.grid()
plt.draw()
plt.show()

実行結果は下記のようになる。

f:id:lib-arts:20190916171459p:plain
解説.
ベクトルはとにかく図式化してイメージをつかむのが良いと思います。機械学習などでは多次元のベクトルを取り扱うケースが多いですが、多次元になってもイメージは2次元(2D)、3次元(3D)のベクトルと同じです。慣れてくると、成分表示と図の表記の二つが紐づくようになり、PC上での処理などもイメージしやすくなります。

 

2. 位置ベクトルと二点間の距離

ex.04.
下記の二つの位置ベクトル(始点が原点の(0,0)であるベクトル)の終点における距離を求めよ。
1) (1,2)(2,1)
2) (2,3)(1,1)
3) (-1,2)(2,-1)

Answer4-1: 二点間の距離をdとおく。
1) d=\sqrt{(2-1)^2+(1-2)^2}=\sqrt{1+1}=\sqrt{2}
2) d=\sqrt{(1-2)^2+(1-3)^2}=\sqrt{1+4}=\sqrt{5}
3) d=\sqrt{(2-(-1))^2+(-1-2)^2}=\sqrt{9+9}=3\sqrt{2}

解説.
二点間の距離は成分の差の二乗の和のルートで計算することで求めることができます。距離の定義については高校レベルの数学ではユークリッド距離を用いています。
また、ここで位置ベクトルは始点が原点のベクトルのため、位置ベクトルの終点の距離は二点間の距離の求め方と一致していることに注意です。

 

3. まとめ
#3ではベクトルについて簡単な加減の演算とPythonでの実装、二点間の距離について取り扱いました。
#4ではベクトルに関しての簡単な演習を取り扱えればと思います。