[ 선형대수 : matlab ] chap 3: 매트랩의 내장함수

42
[ 선선선선 :Matlab] Chap 3: 선선선선 선선선선

Upload: aristotle-carter

Post on 02-Jan-2016

156 views

Category:

Documents


0 download

DESCRIPTION

[ 선형대수 : Matlab ] Chap 3: 매트랩의 내장함수. 최 윤 정. 학습차례. 내장함수 사용하기 도움말 기능 사용하기 기본 수학함수 , 삼각함수 : 간략히 데이터 분석함수 난수 복소수 계산상의 한계 특수한 값과 기타 함수. 학습목표. 다양한 수학함수를 사용할 수 있다 . 매트랩에서 삼각함수를 이해하고 사용할 수 있다 . 통계와 데이터 분석함수를 계산하고 사용할 수 있다 . 균일분포 난수행렬과 가우시안 난수행렬을 만든다 . 매트랩 계산의 한계를 이해한다 . - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: [ 선형대수 : Matlab ] Chap 3:  매트랩의  내장함수

[ 선형대수 :Matlab]Chap 3: 매트랩의 내장함수

최 윤 정

Page 2: [ 선형대수 : Matlab ] Chap 3:  매트랩의  내장함수

2

내장함수 사용하기

도움말 기능 사용하기

기본 수학함수 , 삼각함수 : 간략히

데이터 분석함수

난수

복소수

계산상의 한계

특수한 값과 기타 함수

학습차례

Page 3: [ 선형대수 : Matlab ] Chap 3:  매트랩의  내장함수

3

다양한 수학함수를 사용할 수 있다 .

매트랩에서 삼각함수를 이해하고 사용할 수 있다 .

통계와 데이터 분석함수를 계산하고 사용할 수 있다 .

균일분포 난수행렬과 가우시안 난수행렬을 만든다 .

매트랩 계산의 한계를 이해한다 .

매트랩에 내장되어있는 특수한 값과 함수들을 사용한다 .

학습목표

Page 4: [ 선형대수 : Matlab ] Chap 3:  매트랩의  내장함수

4

[ 예 ]

sqrt

sin

cos

log

매트랩 함수의 이름은 다른 컴퓨터 프로그램에서 사용하고 있는 함수의 이름과 같다 .

함수의 입력에는 스칼라를 넣어도 , 벡터를 넣어도 된다 .

Page 5: [ 선형대수 : Matlab ] Chap 3:  매트랩의  내장함수

5

함수의 구성 함수이름

입력 인수 (Input argument)

출력

내장함수 사용하기

y=sqrt(x)

y=2

sqrt(4)

ans=

2

Page 6: [ 선형대수 : Matlab ] Chap 3:  매트랩의  내장함수

6

나머지 함수 (Remainder function)

[ 예 ] 10/3 의 나머지는 ?

중첩하여 사용할 수 있다 : nesting function

입력이 여러 개인 함수도 있다 .

Page 7: [ 선형대수 : Matlab ] Chap 3:  매트랩의  내장함수

7

크기 함수 (size function) 는 행 (row) 개수와 열 (column) 개수를 구해준다 .

출력에 변수를 할당할 수도 있다 .

출력이 여러 개인 함수도 있다 .

Page 8: [ 선형대수 : Matlab ] Chap 3:  매트랩의  내장함수

8

도움말 기능을 사용하여 어떤 함수가 있으며 , 어떻게 사용하면 되는지

알아낼 수 있다 .

명령창에서 이용하기

메뉴 표시줄의 help 메뉴에서 이용하기

우리가 필요로 하는 함수는 거의 모두 매트랩에 들어 있다고 보아도 좋다 .

Page 9: [ 선형대수 : Matlab ] Chap 3:  매트랩의  내장함수

9

Help 메뉴에서 이용하기

Page 10: [ 선형대수 : Matlab ] Chap 3:  매트랩의  내장함수

10

Page 11: [ 선형대수 : Matlab ] Chap 3:  매트랩의  내장함수

11

Page 12: [ 선형대수 : Matlab ] Chap 3:  매트랩의  내장함수

12

abs(x) 절대값

sign(x) +, - 부호

exp(x) ex

log(x) 자연로그 ( 밑이

e)

log10(x) 상용로그 ( 밑이

10)

기본 수학함수와 근사함수

round(x) : 반올림 fix(x) : 버림 floor(x) : - 쪽으로 근사 ceil(x) : + 쪽으로 근사 // 음수와 양수를 넣어

테스트해보세요

Page 13: [ 선형대수 : Matlab ] Chap 3:  매트랩의  내장함수

13

Page 14: [ 선형대수 : Matlab ] Chap 3:  매트랩의  내장함수

14

factor(x)

gcd(x,y) greatest common denominator

lcm(x,y) lowest common multiple

rats(x) x 를 분수로 표시

factorial(x)

primes(x)

isprime(x)

이산수학 함수 (Discrete Mathemat-ics)

Page 15: [ 선형대수 : Matlab ] Chap 3:  매트랩의  내장함수

15

sin(x) sine

cos(x) cosine

tan(x) tangent

asin(x) inverse sine

sinh(x) hyperbolic sine

asinh(x) inverse hyperbolic sine

sind(x) sine ( 입력을 degree 단위로 가정 )

asind(x) inverse sine ( 출력이 degree 단위 )

삼각함수 (Trigonometric Functions)

Page 16: [ 선형대수 : Matlab ] Chap 3:  매트랩의  내장함수

16

max(x)

min(x)

mean(x) // 평균값

median(x) // 중앙값

sum(x)

prod(x)

sort(x)

데이터 분석 함수 (Data Analysis)

Page 17: [ 선형대수 : Matlab ] Chap 3:  매트랩의  내장함수

17

X 가 행렬이면 열마다 최대값을 구한다 .

Page 18: [ 선형대수 : Matlab ] Chap 3:  매트랩의  내장함수

18

최대값

최대값의 위치 (원소번호 )

Page 19: [ 선형대수 : Matlab ] Chap 3:  매트랩의  내장함수

19

최대값의 위치 ( 행번호 )

각 열의 최대값

Page 20: [ 선형대수 : Matlab ] Chap 3:  매트랩의  내장함수

MATLAB for Engineers 20

Sort(x) : 벡터 x 의 원소들을 오름차순으로 정렬 2 차원 이상이면 각 열마다 오름차순으로 정렬한다 .

Sort(x,'descend') 내림차순 정렬

Sortrows(x) : x 의 첫번째 원소를 기준으로 행 전체를 오름차순으로 정렬 .

Sortrows(x,n) : x 의 n 번째 원소를 기준으로 행전체를 오름차순으로 정렬한다 .

Sort

Page 21: [ 선형대수 : Matlab ] Chap 3:  매트랩의  내장함수

21

size(x) 행 개수와 열 개수

length(x) 행 개수와 열 개수 중 큰 것

행렬 크기를 구하는 함수

Page 22: [ 선형대수 : Matlab ] Chap 3:  매트랩의  내장함수

분산 (Variance) 과 표준편차 (Standard Deviation)

std(x)

var(x)

11

2

2

N

xN

kk

2

Page 23: [ 선형대수 : Matlab ] Chap 3:  매트랩의  내장함수

데이터의 분포 예25~39 세 남자 키

18~24세 여자 키

145-150

150-155

155-160

160-165

165-170

170-175

050

100150200250300350400

키 (cm)

인구

수(

천명

)

155-160

160-165

165-170

170-175

175-180

180-185

0

50

100

150

200

250

키 (cm)

인구

수 (

천명

)

Page 24: [ 선형대수 : Matlab ] Chap 3:  매트랩의  내장함수

24

직접 실습해보기• 실습문제 3.5~3.8 까지 차례로 풀어보기 .

4 90 85 752 55 65 75

X = 3 78 82 791 84 92 93

1. 각 열의 최대값

2. 각 열의 최댓값이 있는 위치

3. 각 행의 최대값

4. 각 행의 최대값이 있는 위치

5. 전체 원소중에서 최대값6. 각 열의 중앙값7. 각 열의 몇번째 행에 중앙값이 있는가

8. 각 행의 중앙값

9. 각 행의 중앙값이 있는 위치

10. 전체 원소중에서 중앙값

11. size 함수를 이용하여 행과 열의 값을 구하세요

12. 각 열을 sort() 를 이용하여 오름차순으로 정렬하기13. 각 열을 sort() 를 이용하여 내림차순으로 정렬하기 14. sortrows() 를 이용하여 첫번째 열에 있는 원소의 값을 기준으로 각 행 전체를 오름차순으로 정렬하세요 .

15. 각 열의 표준편차와 분산값16. 각 열의 분산의 제곱근17. 15 번과 16 번의 결과를 비교하세요 .

Page 25: [ 선형대수 : Matlab ] Chap 3:  매트랩의  내장함수

MATLAB for Engineers 25

기상데이터 분석하기

교재 116~128 참고

Page 26: [ 선형대수 : Matlab ] Chap 3:  매트랩의  내장함수

26

rand(x)

0 과 1 사이 범위에서 균일하게 분포하는 난수를 발생시킨다 .( 원소

개수는 X×X 개 )

rand(m,n)

원소 개수는 m,n 개

randn(n)

정규분포 ( 가우시안분포 ) 를 갖는 난수를 발생시킨다 .

평균이 0 이고 표준편차가 1 인 난수

난수 (Random Numbers)

Page 27: [ 선형대수 : Matlab ] Chap 3:  매트랩의  내장함수

27

Page 28: [ 선형대수 : Matlab ] Chap 3:  매트랩의  내장함수

28

Page 29: [ 선형대수 : Matlab ] Chap 3:  매트랩의  내장함수

29

최소값표준난수집합최소값최대값 균일분포 ][)(x

원하는 범위에서 난수를 발생시키는 방법

평균값표준난수집합표준편차 가우시안 ][x

평균이 80 이고 표준편차가 23.5 인 10,000 개의 가우시안 난수 집합은 ?

>>X = 23.5 * randn(10000,1) + 80

% 확인하기>> mean(X) >> std(X)

Page 30: [ 선형대수 : Matlab ] Chap 3:  매트랩의  내장함수

30

Page 31: [ 선형대수 : Matlab ] Chap 3:  매트랩의  내장함수

31

M(:,1) 형렬 M 의 1 열 데이터 추출

M(:)

2 차원 행렬 M 을 1 차원 열벡터로 변환

행렬 처리 명령 (:)

Page 32: [ 선형대수 : Matlab ] Chap 3:  매트랩의  내장함수

32

Page 33: [ 선형대수 : Matlab ] Chap 3:  매트랩의  내장함수

33

Page 34: [ 선형대수 : Matlab ] Chap 3:  매트랩의  내장함수

34

매트랩에서 제공하는 헨델의 메시아 음악에 난수로

모델링한 잡음성분을 추가한다 .

1. 문제를 명확히 나타낸다 .

2. 입출력을 표시한다 . 메시아 음악 데이터 파일 : handel.mat

>> load handel (handel.mat 은 들어있어요 )

출력 : 메시아 음악 + 잡음 데이터

3. 표준 난수 집합을 이용하여 잡음의 크기가 원하는 범위 사이에서 변하는

잡음데이터 파일을 만들어야 한다 . 어떤 명령을 내려야 할까 ?

Example 3.5 잡음 (noise)

Page 35: [ 선형대수 : Matlab ] Chap 3:  매트랩의  내장함수

35

교재 132 쪽의 명령을 하나씩 살펴보면서 실행시킨다 .

4. 매트랩으로 문제를 푼다 .

Page 36: [ 선형대수 : Matlab ] Chap 3:  매트랩의  내장함수

36

잡음이 있는 경우와 잡음이 없는 경우의 음악파일을 그래프로 확인해본다 .

5. 풀이를 검사한다 .

% 앞부분 200 개의 데이터에 대해서 그래프 그리기t=1:length(y);plot(t(1,1:200),y(1:200,1),t(1,1:200),noise(1:200,1),':')title('Handel''s Messiah')xlabel('Element Number in Music Array')ylabel('Frequency')

Page 37: [ 선형대수 : Matlab ] Chap 3:  매트랩의  내장함수

MATLAB for Engineers 37

주의가 필요한 의약물질을 수송하는데 사용할 컨테이너를 설계하고 있다 .

이 컨테이너는 내용물을 정해진 온도범위안으로 유지시켜야 한다 . 그래서 컨테이너가 외부온도에

어떻게 반응하는지 예측하는 모델을 만들었다 . 모의실험을 위해 다음과 같은 실험을 데이터를

구성하자 .

2 시간의 범위에서 평균 70F, 표준편자 2F 인 정규분포를 갖는 온도 분포를 만든다 . 즉 0~120 분까지 1 분

간격으로 모두 121 개의 온도 데이터가 들어있는 행렬 T, 분당 시간행렬 t 를 만들어야 한다 . 필요한 명령어는 ?

이 데이터를 x,y 평면에 그린다 . 그래프를 그리는 함수는 plot(x,y).

최고온도 최저온도를 구하고 이 온도들이 발생한 시각도 함께 구한다 .

연습문제 3.21 p.151

T=randn(1,121)*2+70;t=0:120;%b plot(t,T)%c[maximum, element]=max(T)max_Temp_time=t(element)[minimum, element]=max(T)min_Temp_time=t(element)

Page 38: [ 선형대수 : Matlab ] Chap 3:  매트랩의  내장함수

38

complex(x,y)

real(A)

imag(A)

isreal(A)

conj(A) : 복소수 A 의 켤레복소수

abs(A)

angle(A)

복소수 (Complex Numbers)

real

imaginary

A=5+3iA=5+3*iA=complex(5,3)real(A)

Page 39: [ 선형대수 : Matlab ] Chap 3:  매트랩의  내장함수

39

매트랩이 처리할 수 있는 가장 큰 수와 작은 수

10-308

10308

어떤 수를 0 으로 나누면 Inf 가 출력된다 .

계산상의 한계

Page 40: [ 선형대수 : Matlab ] Chap 3:  매트랩의  내장함수

40

realmax

realmin

intmax

intmin

다음 명령으로 컴퓨터의 한계값을 알아보자 .

아주 큰 수나 작은 수를 사용하여 계산할 경우 , 계산 순서에 따라 결과가 달라질 수 있다 .

Page 41: [ 선형대수 : Matlab ] Chap 3:  매트랩의  내장함수

41

pi

i,j

Inf

NaN

clock

date

eps

ans

특수한 값과 기타 함수들

힌트 : 특수 함수인 i 를 무심코 변수로 다시 정의하여 사용하는 일이 흔히 일어난다 .

142 쪽의 표를 살펴보면서 어떤 값과 명령들인지 확인해봅시다 .

Page 42: [ 선형대수 : Matlab ] Chap 3:  매트랩의  내장함수

MATLAB for Engineers 42

매트랩에는 다음과 같이 다양한 함수들이 내장되어 있다 .

기본 수학함수

삼각함수

데이터 분석함수

난수 함수

복소수 함수

콜론 연산자를 사용하여 행렬을 조작할 수 있다 .

매트랩에는 계산상의 한계가 있다 .

매트랩에는 특수한 값과 특수 함수가 있다 .

요약