🔢 일차식과 일차 함수
- 다항식
- 여러 개의 항으로 이루어진 식
2x^3
- 2: 계수, 음수도 가능
- x: 변수
- 3: 차수, 변수가 곱해진 횟수
- 상수항
- 가장 큰 차수가 전체 다항식의 차수
- 일차식
- 가장 높은 차수가 1인 다항식
- 예:) 4x+1 / 6x+4y-7
- 일차 함수
y=3x+6
- x의 값에 따라 y의 값이 정해짐
- y는 x의 함수, x에 대한 함수
f(x)=3x+6
🔢 일차 함수 표기법
- 변수의 제한
- x에 숫자를 붙인 형태로 통일
- 예:) x0, x1, x2, ..., xn
f(x,y,z,w)
= f(x0,x1,x2,x3)
f(x0,x1,x2,x3) = a0x0 + a1x1 + ... + anxn + b
🔢 행렬과 벡터
- 행렬(Matrix)
- 수를 직사각형 형태로 나열한 것
- 행(row): 행렬의 가로줄
- 열(column): 행렬의 세로줄
- 예시

- 행렬의 원소
- a11, a12, a21, a22
- Aij: 행렬 A의 i행 j열에 있는 원소
- 2행 2열 >>
2x2
행렬(차원)
- 벡터(Vector)

- 행이나 열이 하나 밖에 없는 행렬
- 열 벡터가 일반적
- 벡터의 차원
- 원소의 개수
- m 차원의 벡터
- 원소: x1, x2, ..., xm
- 행렬은 알파벳 대문자, 벡터는 알파벳 소문자로 표기
🔢 numpy로 행렬 사용하기
import numpy as np
# 4x3 행렬
A = np.array([
[1, -1, 2],
[3, 2, 2],
[4, 1, 2],
[7, 5, 6]
])
A
array([[ 1, -1, 2],
[ 3, 2, 2],
[ 4, 1, 2],
[ 7, 5, 6]])
# 3x2 행렬
B = np.array([
[0, 1],
[-1, 3],
[5, 2]
])
B
array([[ 0, 1],
[-1, 3],
[ 5, 2]])
C = np.random.rand(3, 5)
C
array([[0.79875091, 0.43620354, 0.88835924, 0.97756683, 0.06332558],
[0.89996012, 0.66241769, 0.73754307, 0.37204167, 0.95878667],
[0.67672523, 0.98269744, 0.22519351, 0.43785748, 0.26726197]])
D = np.zeros((2, 4))
D
array([[0., 0., 0., 0.],
[0., 0., 0., 0.]])
- 원소 받아오기
- 2차원 리스트의 요소 받아오기와 유사
- 행렬의 범위를 넘어서면 오류
# A의 1행 3열의 원소
A[0][2]
2
* 출처: CODEIT - 데이터 사이언스 입문