| import numpy as np |
| |
| np.__version__ |
- 20m2의 넓이 : scalar
- 10N의 힘 : vector
- →a=⟨1,0,2⟩
- →b=⟨0,3⟩
| vec = [[1,0,2],[0,3,0]] |
| L2_norm = np.linalg.norm(vec,axis=1,ord=2) |
| print('2-1:',L2_norm[0],'|np.sqrt(5)',np.sqrt(5)) |
| print('2-2:',L2_norm[1]) |
다음과 같은 vector가 있음.
→a=⟨2,1,−3⟩,→b=⟨0,4,−2⟩
- →a+→b
- →a−2→b
- 3→a
| a = np.array([2,1,-3]) |
| b = np.array([0,4,-2]) |
| |
| print('3-1:',a+b) |
| print('3-2:',a-2*b) |
| print('3-3:',3*a) |
- →a=⟨0,2,−1⟩
- →a=⟨0,0,−1⟩
- →a=⟨1,1,1⟩
- →a=⟨35,0,45⟩
| vec = [[0,2,-1],[0,0,-1],[1,1,1],[3/5,0,4/5]] |
| L2_norm = np.linalg.norm(vec,axis=1,ord=2) |
| answers = [L2_norm==1] |
| for idx,val in enumerate(answers[0]): |
| print('4-{}:{}'.format(idx+1,val)) |
→a=⟨3,1,−2⟩
| a = np.array([3,1,-2]) |
| b = -1*a/np.linalg.norm(a) |
| print(b) |
| print(-3/np.sqrt(14),-1/np.sqrt(14),2/np.sqrt(14)) |
→a=⟨3,−2,1⟩, →b=⟨−4,5,1⟩
- →a⋅→b
- →b⋅→b
| a = np.array([3,-2,1]) |
| b = np.array([-4,5,1]) |
| |
| print('6-1:',np.dot(a,b)) |
| print('6-2:',np.dot(b,b)) |
- →a=⟨4,0,0⟩,→b=⟨0,−3,1⟩
- →a=⟨4,0,1⟩,→b=⟨0,−2,1⟩
| def is_orthogonal(a,b): |
| dot = np.dot(a,b) |
| if dot == 0: |
| #print('orthogonal') |
| return True |
| else: |
| #print('not orthogonal') |
| return False |
| |
| |
| a = np.array([4,0,0]) |
| b = np.array([0,-3,1]) |
| print('7-1: a and b is orthogonal:',is_orthogonal(a,b)) |
| |
| a = np.array([4,0,1]) |
| b = np.array([0,-2,1]) |
| print('7-2: a and b is orthogonal:',is_orthogonal(a,b)) |
| |
| #a = np.array([0,0,1]) |
| #b = np.array([0,1,0]) |
| #print('7-3: a and b is orthogonal:',is_orthogonal(a,b)) |
→a=⟨1,2,3⟩,→b=⟨4,0,1⟩
- →a×→b
- →b×→b
- →b×→a
| a = np.array([1,2,3]) |
| b = np.array([4,0,1]) |
| |
| print('8-1:',np.cross(a,b)) |
| print('8-2:',np.cross(b,b)) |
| print('8-3:',np.cross(b,a)) |
(https://colab.research.google.com/github/dsaint31x/Physics/blob/master/src/20220329_vector_ex.ipynb#scrollTo=xlXBN-8da4Dj)