【Python】 ベクトルの和・差・大きさ

■ベクトル

ベクトルとは「大きさ」と「向き」をもった値のことである。

(例)

■ベクトルの和と差の求め方

ベクトルの和

(例)

▼イメージ図


ベクトルの差

(例)

▼イメージ図

■ベクトルの大きさ

ベクトルの大きさは以下のように求めることができる。


(例)

▼イメージ図

■例題

以下の2つのベクトルについて、和と差、大きさを求める。

■サンプルコード

# -*- Coding: UTF-8 -*-
import numpy as np
import math

# ベクトルの大きさを算出する関数
def CalLarge(num):
    x = num[0]
    y = num[1]
    large_val = math.sqrt((x * x) + (y * y))
    return large_val

# メイン処理
if __name__ == '__main__':
    # ベクトルの定義
    a = np.array([3, 2])
    b = np.array([1, 4])

    # ベクトルの和
    sum_val = a + b

    # ベクトルの差
    dif_val = a - b

    # ベクトルaの大きさ
    large_a = CalLarge(a)

    # ベクトルbの大きさ
    large_b = CalLarge(b)

    # 計算結果を出力
    print("ベクトルの和:" + str(sum_val))
    print("ベクトルの差:" + str(dif_val))
    print("ベクトルaの大きさ:" + str(large_a))
    print("ベクトルbの大きさ:" + str(large_b))

■実行結果

ベクトルの和:[4 6]
ベクトルの差:[ 2 -2]
ベクトルaの大きさ:3.605551275463989
ベクトルbの大きさ:4.123105625617661

■参考:Numpyを使用してベクトルの大きさを求める

ライブラリNumpyのlinalg.norm()を使用することで、自分で計算式を作成することなく、ベクトルの大きさを求めることができる。

▼サンプルコード

# -*- Coding: UTF-8 -*-
import numpy as np

# メイン処理
if __name__ == '__main__':
    # ベクトルの定義
    a = np.array([3, 2])
    b = np.array([1, 4])

    # Numpyを使ったベクトルの大きさの算出
    np_large_a = np.linalg.norm(a)
    np_large_b = np.linalg.norm(b)

    print("ベクトルaの大きさ:" + str(np_large_a))
    print("ベクトルbの大きさ:" + str(np_large_b))

▼実行結果

ベクトルaの大きさ:3.605551275463989
ベクトルbの大きさ:4.123105625617661

コメント