기본 콘텐츠로 건너뛰기

라벨이 직교분해인 게시물 표시

[matplotlib]quiver()함수

[Linear Algebra] 직교적 투영(Orthogonal Projection)

직교적 투영(Orthogonal Projection) 그림 1의 벡터 b proj 는 벡터 a위로 수직으로 조사된 빛에 의해 투영된 벡터 b의 그림자에 대한 위치벡터로 정사영(Orthogonal projection) 이라 합니다. 그림 1. 벡터 a에 대한 벡터 b의 정사영. a=np.array([[3], [3]]) q, r=la.qr(a) plt.figure(figsize=(3,2)) plt.arrow(0,0, a[0,0], a[1,0], head_width=0.09) plt.arrow(0, 0, -r[0,0], 0, alpha=0.6, head_width=0.09, color="brown") plt.arrow(0,0, 3, 0, lw=2, head_width=0.09, color="b") plt.vlines(3, 0, 3.2, ls="--", color="g") plt.text(2.5, 0.2, r"$90^o$", color="g") plt.text(0.3, 0.1, r"$\theta$", color="g") plt.text(1.7, 2, r"$\vec{b}$") plt.text(1.5, 0.15, r"$\vec{b_{proj}}$", color="b") plt.text(3.5, 0.15, r"$\vec{a}}$", color="brown", alpha=0.6) plt.show() 식 1을 적용하여 그림 1의 두 벡터 a와 b 각각의 노름과 내적 (a·b)의 비로 cos(θ)를 계산할 수 있습니다. 또한 cos(θ)는 벡터 b와 정사영 b proj 의 노름의 비로 나타낼 수 있습니다. \begin{align}u \cdot v &= \Vert{u}\Vert \Vert{v}\Vert...