[파이썬][Scipy] 행렬을 작은 부분 행렬로 나누기 (Matrix Splitting) 예제
행렬을 작은 부분 행렬로 나누는 방법은 슬라이싱(Slicing)을 사용하여 수행할 수 있습니다. 다음은 NumPy를 사용하여 행렬을 작은 부분 행렬로 나누는 예제입니다.
mport numpy as np
# 4x4 크기의 행렬 생성
matrix = np.array([[1, 2, 3, 4],
[5, 6, 7, 8],
[9, 10, 11, 12],
[13, 14, 15, 16]])
# 행렬을 작은 부분 행렬로 나누기 (슬라이싱)
# 예: 첫 번째 행과 두 번째 열부터 세 번째 열까지
sub_matrix = matrix[0:2, 1:3]
print("원본 행렬:")
print(matrix)
print("\n작은 부분 행렬:")
print(sub_matrix)
위의 예제에서는 다음과 같은 작업을 수행합니다:
- 4x4 크기의 원본 행렬을 생성합니다.
- NumPy 슬라이싱을 사용하여 원본 행렬의 일부분을 추출합니다. 이때
[행 시작:행 끝, 열 시작:열 끝]
형식의 슬라이싱을 사용합니다. - 추출한 작은 부분 행렬을 출력합니다.
이렇게 하면 원하는 행렬의 일부를 선택하고 원본 데이터를 다룰 수 있습니다. 작은 부분 행렬은 원본 행렬의 뷰(View)이므로, 해당 뷰의 값을 수정하면 원본 행렬도 변경될 수 있음에 주의하십시오.