본문 바로가기
유용한 지식/매트랩

매트랩 행렬 관련 유용한 팁

by 그래도_明 2020. 8. 4.

매트랩 행렬 관련 유용한 팁

 

매트랩은 행렬 계산기라 할 수 있을 정도로 행렬에 관한 연산이나 데이터 처리를 할 때 매우 유용하다. 기본적인 행렬 및 매트랩 지식은 안다는 가정 하에 평소에 쉽게 까먹지만 유용한 팁을 여기에 적어놓겠다. 필요한 게 있으면 ctrl+f 로 검색해서 그때 그때 확인히면 편하다.

 

1. 전치 행렬

행렬 뒤에 ' 만 붙이면 된다.

A'로 전치된 A

 

2. 영행렬 및 1만 있는 행렬 생성

zeros(x,y)를 하면 모든 원소가 0인 x-by-y 행렬이 만들어진다. 마찬가지로 ones(x,y)는 모든 원소가 1인 x-by-y 행렬이 된다.

zeros와 ones 함수 결과

 

3. 행렬 갯수 세기

length() 함수를 통해 행렬의 열이나 행의 갯수를 셀 수 있다. 보통 행과 열 중 큰 수를 출력한다. 전체 x-by-y 값을 알고 싶으면 size()를 사용하면 된다. 보통 메크로 프로그램을 짤 때나 데이터에 대해 정확히 모를 경우에 쉽게 행렬 갯수를 변수로 받아올 수 있다.

length와 size 함수 결과

 

4. 행렬의 원소 추출 및 분할

여러가지 원소로 구성된 행렬에서 특정 위치의 원소 값만 받아오고 싶을 때는 "행렬(x,y)"와 같은 형태를 통해 x,y 위치의 원소를 뽑아낼 수 있다. 함수 입력에 콜론(:) 앞 뒤에 첫 위치와 끝 위치를 적어 이용하면 부분 행렬도 가능하다. 만약 하나의 행이나 열을 모두 가져오려면 ':'만 쓰면 편하다.

행렬 추출 결과

 

5. 행렬 합성

반대로 두 행렬을 합치고 싶으면 "[행렬1 행렬2]"와 같이 대괄호로 묶어주면 된다. 행을 바꾸고 싶으면 "[행렬1; 행렬2]"도 가능하다.

행렬 합성 결과

 

6. 행렬 원소마다 곱셈 나눗셈

보통 "행렬1*행렬2"을 하면 행렬 곱셈을 실행한다. 하지만 두 행렬의 일치하는 자리의 원소끼리의 곱을 하고 싶다면 연산자 앞에 . 을 붙이면 된다. 즉 "행렬1.*행렬2" 형태로 표현한다. 이는 추출한 데이터를 처리할 때 유용하게 사용할 수 있다. 나눗셈도 마찬가지이다.

행렬 곱셈 나눗셈 결과

7. 역행렬 구하기

inv()함수로 1초만에 구할 수 있다.

역행렬 연산 결과

 

 

8. 행렬 뒤집기

행렬을 거꾸로 재배열하기 위해선 flip() 이라는 함수를 이용하면 된다.

flip 함수 결과

 

 

추후에 또 생각나는 게 있으면 추가하겠다.

반응형

댓글