1. 행렬의 덧셈과 뺄셈
1) 아침 운동 횟수
| 이름 | 스쿼트 | 팔굽혀펴기 |
| 철수 | 50번 | 40번 |
| 영희 | 10번 | 10번 |
2) 밤 운동 횟수
| 이름 | 스쿼트 | 팔굽혀펴기 |
| 철수 | 30번 | 100번 |
| 영희 | 20번 | 15번 |

① import numpy as np ← numpy 모듈을 np로 불러오겠음
② A = np.matrix([[50, 40], [10, 10]]) ← 아침 운동 횟수인 A 행렬 입력
B = np.matrix([[30, 100], [20, 15]]) ← 밤 운동 횟수인 B 행렬 입력
③ A + B ← A와 B행렬의 합
3) 하루 총 운동 횟수
| 이름 | 스쿼트 | 팔굽혀펴기 |
| 철수 | 80번 | 140번 |
| 영희 | 30번 | 25번 |
2. 행렬의 실수배
1) 하루 총 운동 횟수, 다음날 이 횟수의 80%를 목표한 경우
| 이름 | 스쿼트 | 팔굽혀펴기 |
| 철수 | 30번 | 100번 |
| 영희 | 20번 | 15번 |

① import numpy as np ← numpy 모듈을 np로 불러오겠음
② A = np.matrix([[80, 140], [30, 25]]) ← 하루 총 횟수인 A 행렬을 입력
③ 0.8 * A ← 목표를 80% 했으므로 실수인 0.8을 곱해야 함
④ matrix([[64, 112], [24, 20]]) ← 다음 날 80% 목표치
3. 행렬의 곱셈
1) 두 사람이 구입할 개수
| 이름 | 사과 | 바나나 |
| 철수 | 1개 | 3개 |
| 영희 | 2개 | 1개 |
2) 편의점과 백화점에서 파는 가격
| 이름 | 편의점 | 백화점 |
| 사과 | 1500원 | 2500원 |
| 바나나 | 1300원 | 2300원 |

① (import numpy as np) ← numpy 모듈을 np로 불러오겠음
② A = np.matrix([[1, 3], [2, 1]]) ← 철수와 영희가 구입할 바나나와 사과의 개수인 A 행렬 입력
B = np.matrix([[150, 250], [130, 230]]) ← 편의점과 백화점에서 파는 바나나와 사과의 값이 있는 B 행렬 입력
③ A * B ← A행렬과 B행렬을 곱하라
④ matrix([[540, 940], [430, 730]])
3) 두 사람이 지불할 가격
| 이름 | 편의점 | 백화점 |
| 철수 | 5400원 | 9400원 |
| 영희 | 4300원 | 7300원 |
4. 곱셈규칙
1) 칼로리 표
| 음식명 | 칼로리 |
| 사과 | 145kcal/1개 |
| 바나나 | 72kcal/1개 |
2) 두 사람이 섭취한 양
| 이름 | 사과 | 바나나 |
| 철수 | 1개 | 3개 |
| 영희 | 2개 | 1개 |

① (import numpy as np) ← numpy 모듈을 np로 불러오겠음
② A = np.matrix([[1, 3], [2, 1]]) ← 섭취한 양이 나온 A 행렬
B = np.matrix([[145], [72]]) ← 음식의 칼로리가 나온 B 행렬
③ A * B ← A 행렬과 B 행렬의 곱
④ matrix([[361], [362]])
5. 단위 행렬
1) 단위행렬E란?
: 대각선상에 있는 요소가 모두 1이고, 그 외의 값은 0인 행렬
2) 단위행렬의 규칙
- AE = EA = A

① (import numpy as np) ← numpy 모듈을 np로 불러오겠음
② A = np.matrix([[1, 3], [2, 1]]) ← A행렬 입력
E = np.matrix([[1, 0], [0, 1]]) ← 단위행렬 E 입력
③ A * E ← A행렬과 단위행렬 E의 곱
matrix([[1, 3], [2, 1]])
④ E * A ← E행렬과 단위행렬 A의 곱
matrix([[1, 3], [2, 1]])
- 두 곱은 순서 상관 없이 A 행렬 값과 같다는 것을 알 수 있음
6. 역행렬
1) 역행렬이란?
: AB = BA = E 일 때, B는 A의 역행렬임
: 어떤 행렬에 곱한 답이 단위행렬이 되는 행렬을 말함
2) 역행렬을 구할 때 대각선 곱이 0이 아님을 먼저 확인해야 함


① (import numpy as np) ← numpy 모듈을 np로 불러오겠음
② A = np.matrix([[5, 3], [2, 1]]) ← A행렬 입력
B = np.linalg. inv(A) ← A행렬의 역행렬 B를 구해라
③ B ← A행렬의 역행렬은?
④ matrix([[-1., 3], [2., -5]]) ← A행렬의 역행렬
⑤ (A * B) .astype(np. int64) ← <linalg. inv(A)>는 부동 소수점으로 표현되므로 astype.int를 통해 정수형태로 나타내라고 명령
matrix([[1, 0], [0, 1]], dtype=int64)
7. 역행렬과 연립방정식
1) 5x + 3y = 9, 2x + y = 4 두 개의 연립방정식 역행렬로 풀기

① (import numpy as np) ← numpy 모듈을 np로 불러오겠음
② A = np.matrix([[5, 3], [2, 1]]) ← 좌변의 행렬 A 입력
③ inv_A = np.linalg. inv(A) ← A행렬의 역행렬 구하기
④ B = np.matrix([[9], [4]]) ← 우변의 행렬 B 입력
⑤ inv_A * B ← A의 역행렬 * 행렬 B
⑥ matrix([[3], [-2]]) ← 연립 방정식의 해
'파이썬으로 다시 배우는 핵심고등수학 (python) > 05장 : 행렬' 카테고리의 다른 글
| 5-3. 도형의 일차변환 (0) | 2021.02.05 |
|---|