※ Vector (벡터)
■ 벡터의 덧셈
## 직접 정의하기
def add(u, v):
n = len(u)
w = []
for i in range(0, n):
value = u[i] + v[i]
w.append(value)
return w
u = [1, 2, 3]
v = [4, 5, 6]
print(add(u, v)) # [5, 7, 9]
## numpy 사용
import numpy as np
u = np.array([1, 2, 3])
v = np.array([4, 5, 6])
w = u + v
print(w) # [5 7 9]
■ 벡터의 뺄셈
## 직접 정의하기
def subtract(u, v):
n = len(u)
w = []
for i in range(0, n):
value = u[i] - v[i]
w.append(value)
return w
u = [8, 2, 7]
v = [4, 5, 6]
print(subtract(u, v)) # [4, -3, 1]
## numpy 사용
import numpy as np
u = np.array([8, 2, 7])
v = np.array([4, 5, 6])
w = u - v
print(w) # [4 -3 1]
■ 스칼라와 벡터의 곱
## 직접 정의하기
def scalr_vec_mul(a, u):
n = len(u)
w = []
for i in range(0, n):
value = a * u[i]
w.append(value)
return w
a = 5
u = [8, 2, 7]
print(scalr_vec_mul(a, u)) # [40, 10, 35]
## numpy 사용
import numpy as np
a = 5
u = np.array([8, 2, 7])
w = a * u
print(w) # [40 10 35]
■ 벡터의 원소곱
## 직접 정의하기
def vec_mul(u, v):
n = len(u)
w = []
for i in range(0, n):
value = u[i] * v[i]
w.append(value)
return w
u = [1, 2, 3]
v = [4, 5, 6]
print(vec_mul(u, v)) # [4, 10, 18]
## numpy 사용
import numpy as np
u = np.array([1, 2, 3])
v = np.array([4, 5, 6])
w = u * v
print(w) # [4 10 18]
■ 벡터의 나눗셈
## 직접 정의하기
def vec_div(u, v):
n = len(u)
w = []
for i in range(0, n):
value = u[i] / v[i]
w.append(value)
return w
u = [1, 2, 3]
v = [4, 5, 6]
print(vec_div(u, v)) # [0.25, 0.4, 0.5]
## numpy 사용
import numpy as np
u = np.array([1, 2, 3])
v = np.array([4, 5, 6])
w = u / v
print(w) # [0.25 0.4 0.5]
■ 벡터의 내적 (inner product)
# 직접 정의하기
> def inner_product(a, b):
n = len(a)
result = 0
for i in range(n):
result += a[i] * b[i]
return result
> a = [1, 2, 3]
> b = [4, 5, 6]
> inner_product(a, b) # 32
# numpy 활용
> import numpy as np
> a = np.array([1, 2, 3])
> b = np.array([4, 5, 6])
> np.inner(a, b) # 32
■ 벡터의 외적 (outer product)
# 직접 계산하기
> def out_product(a, b):
result = []
n1 = len(a)
n2 = len(b)
for i in range(0, n1):
row = []
for j in range(0, n2):
value = a[i]*b[j]
row.append(value)
result.append(row)
return result
> a = [1, 2, 3]
> b = [4, 5]
> out_product(a, b)
# [[4, 5], [8, 10], [12, 15]]
# numpy 활용
> import numpy as np
> a = np.array([1, 2, 3])
> b = np.array([4, 5])
> np.outer(a, b)
[[ 4 5]
[ 8 10]
[12 15]]
댓글남기기