↓2021/03/05 - [Computer Language/Matlab] - MATLAB 기초 2. 벡터와 행렬 생성과 슬라이싱
3-1 행렬의 전치(Transpose)
MATLAB 에서는 행렬의 전치를 위하여 프라임(')을 사용한다.
3-2 행렬의 덧셈과 뺄셈
+, - 연산자를 이용하여 연산이 가능하며, 두 행렬의 크기가 같아야 연산이 가능하다.
3-3 행렬의 곱셈
* 연산자를 사용하며, 앞 행렬의 열의 크기와 뒷 행렬의 행의 크기가 동일해야 한다.
다시말해 m x n 행렬과 n x p 행렬의 순서 곱은 가능하지만, 반대 순서는 불가능하다.
3-4 행렬의 나눗셈
MATLAB에서는 행렬의 나눗셈을 위해 좌측 연산자 \(역슬레시)와 우측연산자 /를 제공한다.
행렬 A가 역행렬을 갖는 정방 행렬이면 선형 방정식 Ax=b 의 해 x를 구하기 위해 좌측 나눗셈(\)을 사용하며, 우측 나눗셈(/)은 xA = b 의 해를 구하기 위해 사용한다.
A * x = b → x = A \ b
x * A = b → x = b / A
예를 들어, 아래의 연립방정식의 해를 구한다고 생각해 보자.
a+2b = 5
3a+4b = 11
행렬 A = [1 2;3 4] 가 될 것이고, 결과 벡터 b = [5;11]이 될 것이다.
이때 x = [a;b]를 구해야 하는데 식으로 나타내면,
A*x = b
↓
x = A\b 를 통해 구할 수 있다.
x = [1;2] 라는 결과가 나왔다. 대입해보면 사실임을 알 수 있을 것이다.
그냥 실수에 좌즉나눗셈(\)을 사용한다면, 어떻게 연산이 될까?
1/2 는 우측나눗셈(/)을 사용하여 뒤쪽 숫자가 분모가 되어 나눗셈이 진행된다.
반대로 1\2는 좌측나숫셈(\)을 사용하여 앞쪽 숫자가 분모가 된다.
3-5 element 연산
각 원소(element)끼리 곱하거나 나누기 또는 거듭제곱을 하고자 할 경우에는 사용하고자 하는 연산자 앞에 . 연산자를 붙여야 한다.
이때, element 거듭제곱(A.^2) 과 행렬 거듭제곱(A^2) 을 구분할 필요가 있다!!
element 거듭제곱(A.^2) 은 각 요소들을 제곱하는 것을 말한다.
반대로 행렬 거듭제곱(A^2) 은 정사각 행렬일때 똑같은 행렬을 곱하는 것을 말한다.
3-6 기타 행렬 연산 함수 (size, length, reshape)
size(A) : 행렬(A)의 크기를 반환한다.
length(A) : 행렬(A)의 행 수와 열 수를 비교하여 큰 값을 출력한다.
reshape(A, n, m) : 행렬(A)을 n x m 행렬로 변환시킨다. 이때 열우선 순서로 반환된다.
이때 주의할 점은 행렬이 reshape을 통해 바뀔때, 기존의 원소들이 열 우선 순으로 바뀐다는 것이다.
열 우선 순이라는 말이 무엇인지 생각해보자.
위의 예시에서 2 x 3 행렬 A는
첫째 행이 1 2 3, 둘째 행이 4 5 6 인 원소로 구성되어 있다.
이를 열을 기준으로 생각해보면,
첫째 열이 1 4, 둘째 열이 2 5, 셋째 열이 3 6으로 구성되어 있다.
이를 reshape함수를 사용하여 6 x 1 행렬로 바꾸면 어떻게 될까?
열을 기준으로 생각했을때 첫째 열의 원소 부터 순서대로 열에 채워진다.
1 4 2 5 3 6
위의 예시들을 바탕으로 다시 한번 생각해보거나 직접 몇번만 해보면 어떤 의미인지 이해 할 수 있을 것이다.
2021/03/08 - [Computer Language/Matlab] - MATLAB 기초 4. 입출력 ( disp( ), fprintf( ), fscanf( ) )
참고도서
MATLAB을 이용한 알기 쉬운 수치해석. 박태희 지음. 생능출판
'컴퓨터 언어 > Matlab' 카테고리의 다른 글
MATLAB 기초 6. 그래프 그리기 (plot, marker, linecolor, axis, title, xlabel, ylabel, legend) (0) | 2021.03.08 |
---|---|
MATLAB 기초 5. 기본 프로그래밍 (if, for, while) (0) | 2021.03.08 |
MATLAB 기초 4. 입출력 ( disp( ), fprintf( ), fscanf( ) ) (0) | 2021.03.08 |
MATLAB 기초 2. 벡터와 행렬 생성과 슬라이싱 (0) | 2021.03.05 |
MATLAB 기초 1. MATLAB( .m 확장자 ), 스크립트 파일, 함수 파일, 변수, 내장 함수, 관계 및 논리 연산자 (0) | 2021.03.05 |