ベクトル#
シンプルな定義#
数を並べた組をベクトルという。
もっと厳密な定義#
任意の元
ベクトルの和とスカラー倍#
2つの
とスカラー
足し算#
ベクトル
スカラー倍#
ベクトル
Show code cell source
import numpy as np
import matplotlib.pyplot as plt
import matplotlib as mpl
import japanize_matplotlib
a = np.array([1, 1])
b = np.array([1, 2])
o = np.array([0, 0])
c = 3
fig, axes = plt.subplots(ncols=2, figsize=[6, 2.5])
# 和
ax = axes[0]
cmap = mpl.colormaps['tab10']
for i, (v, label) in enumerate([(a, "a"), (b, "b"), ((a+b), "a+b")]):
ax.arrow(*o, *v, width=0.02, color=cmap(i), length_includes_head=True, alpha=0.5)
ax.text(v[0], v[1], label, color=cmap(i))
longest_v = (a+b)
ax.set(xticks=range(longest_v[0]+1), yticks=range(longest_v[1]+1), title=r"ベクトルの和 $a+b$")
ax.grid(True, alpha=0.3)
# スカラー倍
ax = axes[1]
for i, (v, label) in enumerate([(a, "a"), (a * c, "ca")]):
ax.arrow(*o, *v, width=0.02, color=cmap(i), length_includes_head=True, alpha=0.5)
ax.text(v[0] - 0.1, v[1] + 0.1, label, color=cmap(i))
longest_v = c * a
ax.set(xticks=range(longest_v[0]+1), yticks=range(longest_v[1]+1), title=r"スカラー倍 $c a$")
ax.grid(True, alpha=0.3)
fig.show()
