Linear Algebra
- Matlab
Basics-Prof. Woongsup Lee
Dept. of Information & Communication Eng. Gyeongsang National University
1
Matlab 명령 입력 방법
•
Matlab 명령 입력 방법 ✓ 현재까지는 매트랩 명령 창 을 이용하여 matlab명령 수행 ✓ 명령창 방식의 경우 간단하게 성능 검증을 해볼 수 있는 장점이 있으나 큰 프 로그램을 작성하기에는 문제가 있음 ✓ 이를 해결하기 위해 스크립트 기반의 방식 (m-file) 사용 가능 ✓ 복잡하고 긴 코딩에서는 스크립트 방식을 사용하는 것이 현명함✓ 또한 reuse가능하고 m-file을 이용하여 자신만의 function 을 생성하여 사 용할 수도 있음
Gyeongsang National University
Matlab 스크립트 사용
•
Matlab 스크립트 사용 방법 1. 스크립트 생성 2. m-file 저장 3. 실행 클릭 4. 디버깅 혹은 멈추기 (ctr+c) 3 2Matlab 스크립트 사용
•
Matlab 스크립트에서의 디버깅 ✓ 프로그램을 하다보면 디버깅을 할 경우가 많이 생김 ✓ 디버깅을 하기 가장 좋고 (많이 사용되는) 방법 -> 프로그램의 변수를 출력하면서 (프로그래밍에서는 로그파일이라고 함) 문제점 발견 ✓ 다음으로 디버깅 모드를 사용 가능 원하는 라인에 체크를 하면 프 로그램을 돌리 다 해당 라인에 서 스탑 왜 에러가 났을Gyeongsang National University
Matlab 스크립트
•
Matlab 스크립트
✓
인터넷을 찾아보면 다양한 example 스크립트를 찾을 수 있음
✓
matlab의 경우 스크립트가 그리 복잡하지 않기 때문에 쉽게 스크립트
를
해석하고 우리의 취향에 맞게 사용 가능하다
✓
하지만 애니메이션등 다양하고 파워풀한 효과를 만들어 낼 수 있음
5 2Matlab 스크립트
•
Matlab 스크립트 예제 ✓ 기본적으로 matlab 스크립트는 스크립트 랭귀지 이기 때문에 위에서 아래로 실행됨 -> 해석이 쉬움 ✓ 특히 인터넷에서 발견할 수 있는 많은 수의 예제 코드들은 주석을 달아놓기 때문에 적절한 영어 실력만 있다면 충분히 활용 가능 ✓ 예제파일 -> 통신의 BER 커브 뽑기 보통 대부분의 프로그램은 이 와 같이 프로그 램이 무엇을 하 는지 알려주는 주석으로 시작Gyeongsang National University
Matlab 스크립트
7 2 변수 및 코드에 도 보통 이러한 주석 사용 모르는 함수는 help를 사용해 서 찾아봄 어떻게 동작할 지 모르는 함수 는 매트랩 커멘 드 창에서 직접 실행시켜가면 서 측정 가능Matlab의 기초
•
Matlab에서의 변수의 자료형
✓ 매트랩은
그 이름의 유래에서 알 수 있듯이 매트릭스 (matrix, 행
렬
) 연산을 기본으로 함
✓
따라서 행렬이라는 개념에 대해서 간략하게 알 필요가 있음
•
행렬
✓
문자, 기호자료 등의 수치 정보들이 순서에 따라 무리지어 표시
✓
하나의 행과 열로 구성된 벡터를 각각 행 벡터 및 열 벡터로 부름
✓
2차원 배열을 주로 행렬이라고 가르킴. 배열과 거의 동일하게 사용
✓
엑셀을 생각해 보면 편함
Gyeongsang National University
Matlab의 기초
•
행렬 입력 ✓ 중괄호 사이에 입력 ([]) ✓ 배열의 행바꾸기: 중괄화 사이에 세미콜론 (;) 입력 ✓ 배열의 열 바꾸기: 한칸을 띠거나 콤마 입력 (,)✓
예시 (자유롭게 행렬을 만들어 보자) ✓ x = [1 2;3 4] ✓ y = [1 2 3;4 5 6;7 8 9] ✓ what about z = [1 2;4] 9 2Matlab의 기초
•
다양한
배열 만들기
✓
eye: 대각선 값들만 1이고 나머지는 0인 identity matrix 생
성
✓
zeros: 모든 원소가 0
✓
ones: 모든 원소가 1
✓
만드는 법: >>eye(m,n) …
✓
eye, zeros, ones를 이용해서 다양한 배열들을 생성해보자!
✓
What about >>eye(2)
Gyeongsang National University
Matlab의 기초
•
다양한
배열 만들기
✓
배열의 특정 원소 지정
x(1, 2) -> 1행 2열 원소 지정
✓
다양한 원소들을 지정해보자!
✓
열, 혹은 벡터를 지정하고 싶을때는?
✓
(:) 사용
✓
예시 >> a(1,:) 혹은 a(:,1)
✓
a(:) ?? a(:,:)
✓
Transpose -> >>a’ (무슨 일이 발생하나?)
11 2Matlab의 기초
Gyeongsang National University
Matlab의 기초
•
다양한 배열 만들기✓ 다차원의 배열 만들기
✓zeros(2,2,2) -> what happens? ✓ 콜론 연산자 ✓ x = i:j:k ✓ i -> 초기값 ✓ j -> 규칙적으로 증가하는 값 ✓ k-> 최종값 ✓ 예시: >> x = 1:1:10; ✓ >> x = 10:-1:1; 13 2