여기에서는 이전 포스트에 이어서 기본적인 행렬 생성의 기본적인 내용을 설명하겠다.
함수의 행렬
행렬을 입력하는 또 다른 예로, 아래와 같이 주어진 행렬 C를 생각해보자.
위 행렬은 다음과 같이 입력될 수 있다.
>> C = [1 exp(-0.02); sqrt(2) 3]; >> C C =1.0000 0.98021.4142 3.0000 |
여기서 exp(x)함수는 ex 값(exponetial)을 구하는 함수이고, sqrt(x)함수는 제곱근(square root)을 구하는 함수이다. exp(x)함수나 sqrt(x)함수의 용법이 궁금하다면 help 명령어를 사용하면 된다. help exp 명령을 내리면 exp()함수에 대한 기본 설명, 유사한 함수들 그리고 오버로드(overload)된 함수들에 대한 설명이 나오는 것을 알 수 있다. 유사한 함수들의 목록에 expm()함수가 있는데 함수명 끝의 m은 이 함수가 행렬연산을 한다는 것을 나타내며 스칼라 연산 함수들은 보통 대응하는 행렬 연산 함수를 가지고 있다.
※ 스칼라 연산이란 예를 들어 A=[1 2; 3 4]이고 exp(A)를 수행하면 결과값이 [exp(1) exp(2); exp(3) exp(4)]와 같이 행렬 각 요소에다가 함수값을 취하는 겻을 의미한다. 이와 달리 행렬 연산 함수 expm(A)는 다음과 같은 Taylor급수 정의식에 의한 결과값을 계산하게 된다. |
[그림 1] Octave 4.0에서 help exp 명령을 수행한 결과
전치 행렬 (transpose)
어떤 행렬의 전치행렬(transpose)을 만드는 방법은 행렬의 끝에 작은따옴표 (‘)를 붙이는 것이다. 예를 들어서 C행렬의 전치행렬을 만들어 D에 입력하고 싶다면 다음과 같이 한다.
>> D=C'D =1.0000 1.41420.9802 3.0000 |
어떤 행렬의 대각 요소(diagonal element)란 행 인덱스와 열 인덱스가 같은 요소를 그리고 비대각요소(off-diagonal element)는 같지 않은 요소를 의미한다. 위의 예에서 행렬 C의 비대각요소의 위치가 대칭적으로 바뀌어서 D에 저장되었음을 알 수 있다.
또는 행렬을 입력할 때 마지막에 (‘)을 추가하면 입력되는 행렬의 전치행렬이 바로 구해진다.
>> D=[1 exp(-0.02); sqrt(2) 3]'D =1.0000 1.41420.9802 3.0000 |
이와 같이 전치 행렬은 행렬의 끝에 작은 따옴표로 쉽게 구해진다.
'프로그래밍언어.Lib > MATLAB' 카테고리의 다른 글
MATLAB 의 행렬 기본 입력 (part 4) : 벡터와 콜론(:) 연산자 (0) | 2015.06.24 |
---|---|
MATLAB 행렬 기본 입력 (part 3) : 복소 행렬 (0) | 2015.06.24 |
MATLAB 개요 (0) | 2015.06.24 |
MATLAB을 무료로 실습할 수 있는 방법 (0) | 2015.06.24 |
MATLAB 행렬 입력 기본 (part 1) (1) | 2015.06.24 |