Linear Algebra
- Matlab
Basics-Prof. Woongsup Lee
Dept. of Information & Communication Eng.
Gyeongsang National University
1
Gyeongsang National University
Information on Matlab
•
What is Matlab?
✓
Matrix Laboratory의 합성어
✓
기본적으로 matrix연산을 통한 효율적 수학 프로그래밍 지향
✓
쉽고 신속하게 프로그램을 개발할 수 있음
✓
장점
✓ 다양한 내장함수: 수학과 관련된 다양한 함수들 (예를 들어 error function) 등
을 직접 구현할 필요 없이 다 구현되어 있음
✓ 다른 프로그래밍 언어와의 호환
✓ 시뮬링크를 이용한 쉽고 빠른 성능 검증
✓
단점
✓ C로 구현한 프로그램에 비해서 느림
✓ Freeware가 아님 - 하지만 여러분은 30일 무료버젼 사용가능
2 2Gyeongsang National University
Matlab의 기초
•
Matlab 실행하기
✓
Matlab을 더블 클릭하여 실행
3 2•
Matlab 실행화면
✓
다음과 같은 화면을 확인할 수 있음
- (버젼 차이로 다른 화면이 보일 수 있음)
Gyeongsang National University
Matlab의 기초
•
Matlab 실행하기
✓
우리가 대부분 다룰 곳은 “명령 창”과 “열기”
✓
명령 창에는 명령어 입력 및 결과 출력이 가능
✓
열기를 통해서는 기존에 작성한 m-file 및 그림들 불러오기 가능
4 2Gyeongsang National University
Matlab의 기초
•
Matlab에 기본적인 명령에 작성
✓
명령창의 >> 옆에 커멘드를 입력함으로써 명령을 할 수 있음
✓
문제가 없으면 출력 결과가 나오고 커멘드에 문제가 있으면 빨간 글
씨로
오류 메시지가 나옴
5 2Gyeongsang National University
Matlab의 기초
•
Matlab에 기본적인 명령에 작성
✓
>> a = 1을 입력해보자
✓
이러한 명령어는 무엇을 의미하는가
✓
매트랩 창에서 어떠한 부분이 바뀌었는가?
✓
위/아래/옆 키를 눌러보자. 무슨 일이 발생하는가?
6 2Gyeongsang National University
Matlab의 기초
•
Matlab에 기본적인 명령에 작성
✓
>> a = 2;을 입력해보자
✓
아까전과 비교해서 무엇이 달라졌는가?
✓
매트랩의 기초 - 모든 커멘드 라인 뒤에 ;를 붙이면 출력 결과가 나오지 않음
-> 그렇다고 해서 커멘드를 수행하지 않은것은 아님 (>>a를 실행)
7 2Gyeongsang National University
Matlab의 기초
•
Matlab에 기본적인 명령에 작성
✓ 다시
>>a=2를 출력하자
✓
>>clc 를 실행시켜보자. 무엇이 바뀌었는가?
✓
>> a = 3을 누르고 >> clear 를 실행시켜보자. 무엇이 바뀌었는가?
✓
Matlab의 모든 변수는 Workspace에 저장이 된다!
8 2Gyeongsang National University
Matlab의 기초
•
Matlab에 기본적인 명령에 작성
✓
앞서 설명하였듯이 Matlab은 많은 수학 함수들이 구현되어 있고 이러한 함수를 모두 다 알 수는
없음
✓
따라서 이러한 명령어들을 알려주는 길잡이가 필요
-> help!
✓
고전적인 방안
✓
>>help sin (help뒤의 함수를 물어보는 것임) - 다른 것도 찾아보자
9
2
Gyeongsang National University
Matlab의 기초
•
Matlab에 기본적인 명령에 작성
✓
help를 사용하는 좀 더 스마트한 방법
10 2도움말 클릭
원하는 키워드 검색
Gyeongsang National University
Matlab의 기초
•
Matlab에 기본적인 명령에 작성
✓
help를 사용하는 가장 스마트한 방법 -> 구글링!
11 2적절한 영어와 적절한 검색어
다음와 같은 아저씨들이
친절하게 답변을 해준다
대부분 이 코드를 복사해서
붙여넣으면 문제 해결
감사의 인사도 잊지 말자
Gyeongsang National University
Matlab의 기초
•
Matlab의 기본적인 사칙연산
✓
Matlab도 기초적인 사칙 연산이 가능하다
✓
(+, - *, /)
✓
inverse division도 가능 (\)
✓
4+6, 4-3, 3/4
✓
% 은 무엇을 의미하는가?
✓
(^) 도 직접 실험을 해 보자
•
Matlab의 기본적인 사칙연산
✓
Matlab 에서는 사칙연산의 오류를 줄이기 위해서 괄호를 사용
✓
산술 연산자의 우선순위
✓
>> (5+4)*4 와 5+4*4를 비교해 보자
✓
괄호가 빠져 있을 경우 어떠한 일이 발생하는가 -> 매트랩 코딩에서 매우 흔히 발생하는 오류
12 2Gyeongsang National University
Matlab의 기초
•
Matlab의 기본적인 숫자 표현
✓
>> 12345123412124124 와 같은 임의의 큰 수를 입력해보자. 어떤식으로 출
력이
나오는가?
✓
2.3e+14와 같은 방식으로 큰 수를 쉽게 표현할 수 있음
13 2Gyeongsang National University
Matlab의 기초
•
Matlab에서의 변수
✓
Matlab에서 변수 명을 설정할 때는 한글을 사용하면 안됨
✓
몇가지 미리 정해져 있는 변수들이 있음
✓
pi
✓
Inf (>>1/0 으로 확인)
✓
NaN (Not a Number >>0/0 으로 확인)
✓
i, j (허수 >> i 로 확인)
14