Upload
aristotle-carter
View
157
Download
0
Embed Size (px)
DESCRIPTION
[ 선형대수 : Matlab ] Chap 3: 매트랩의 내장함수. 최 윤 정. 학습차례. 내장함수 사용하기 도움말 기능 사용하기 기본 수학함수 , 삼각함수 : 간략히 데이터 분석함수 난수 복소수 계산상의 한계 특수한 값과 기타 함수. 학습목표. 다양한 수학함수를 사용할 수 있다 . 매트랩에서 삼각함수를 이해하고 사용할 수 있다 . 통계와 데이터 분석함수를 계산하고 사용할 수 있다 . 균일분포 난수행렬과 가우시안 난수행렬을 만든다 . 매트랩 계산의 한계를 이해한다 . - PowerPoint PPT Presentation
Citation preview
[ 선형대수 :Matlab]Chap 3: 매트랩의 내장함수
최 윤 정
2
내장함수 사용하기
도움말 기능 사용하기
기본 수학함수 , 삼각함수 : 간략히
데이터 분석함수
난수
복소수
계산상의 한계
특수한 값과 기타 함수
학습차례
3
다양한 수학함수를 사용할 수 있다 .
매트랩에서 삼각함수를 이해하고 사용할 수 있다 .
통계와 데이터 분석함수를 계산하고 사용할 수 있다 .
균일분포 난수행렬과 가우시안 난수행렬을 만든다 .
매트랩 계산의 한계를 이해한다 .
매트랩에 내장되어있는 특수한 값과 함수들을 사용한다 .
학습목표
4
[ 예 ]
sqrt
sin
cos
log
매트랩 함수의 이름은 다른 컴퓨터 프로그램에서 사용하고 있는 함수의 이름과 같다 .
함수의 입력에는 스칼라를 넣어도 , 벡터를 넣어도 된다 .
5
함수의 구성 함수이름
입력 인수 (Input argument)
출력
내장함수 사용하기
y=sqrt(x)
y=2
sqrt(4)
ans=
2
6
나머지 함수 (Remainder function)
[ 예 ] 10/3 의 나머지는 ?
중첩하여 사용할 수 있다 : nesting function
입력이 여러 개인 함수도 있다 .
7
크기 함수 (size function) 는 행 (row) 개수와 열 (column) 개수를 구해준다 .
출력에 변수를 할당할 수도 있다 .
출력이 여러 개인 함수도 있다 .
8
도움말 기능을 사용하여 어떤 함수가 있으며 , 어떻게 사용하면 되는지
알아낼 수 있다 .
명령창에서 이용하기
메뉴 표시줄의 help 메뉴에서 이용하기
우리가 필요로 하는 함수는 거의 모두 매트랩에 들어 있다고 보아도 좋다 .
9
Help 메뉴에서 이용하기
10
11
12
abs(x) 절대값
sign(x) +, - 부호
exp(x) ex
log(x) 자연로그 ( 밑이
e)
log10(x) 상용로그 ( 밑이
10)
기본 수학함수와 근사함수
round(x) : 반올림 fix(x) : 버림 floor(x) : - 쪽으로 근사 ceil(x) : + 쪽으로 근사 // 음수와 양수를 넣어
테스트해보세요
13
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)
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)
16
max(x)
min(x)
mean(x) // 평균값
median(x) // 중앙값
sum(x)
prod(x)
sort(x)
데이터 분석 함수 (Data Analysis)
17
X 가 행렬이면 열마다 최대값을 구한다 .
18
최대값
최대값의 위치 (원소번호 )
19
최대값의 위치 ( 행번호 )
각 열의 최대값
MATLAB for Engineers 20
Sort(x) : 벡터 x 의 원소들을 오름차순으로 정렬 2 차원 이상이면 각 열마다 오름차순으로 정렬한다 .
Sort(x,'descend') 내림차순 정렬
Sortrows(x) : x 의 첫번째 원소를 기준으로 행 전체를 오름차순으로 정렬 .
Sortrows(x,n) : x 의 n 번째 원소를 기준으로 행전체를 오름차순으로 정렬한다 .
Sort
21
size(x) 행 개수와 열 개수
length(x) 행 개수와 열 개수 중 큰 것
행렬 크기를 구하는 함수
분산 (Variance) 과 표준편차 (Standard Deviation)
std(x)
var(x)
11
2
2
N
xN
kk
2
데이터의 분포 예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)
인구
수 (
천명
)
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 번의 결과를 비교하세요 .
MATLAB for Engineers 25
기상데이터 분석하기
교재 116~128 참고
26
rand(x)
0 과 1 사이 범위에서 균일하게 분포하는 난수를 발생시킨다 .( 원소
개수는 X×X 개 )
rand(m,n)
원소 개수는 m,n 개
randn(n)
정규분포 ( 가우시안분포 ) 를 갖는 난수를 발생시킨다 .
평균이 0 이고 표준편차가 1 인 난수
난수 (Random Numbers)
27
28
29
최소값표준난수집합최소값최대값 균일분포 ][)(x
원하는 범위에서 난수를 발생시키는 방법
평균값표준난수집합표준편차 가우시안 ][x
평균이 80 이고 표준편차가 23.5 인 10,000 개의 가우시안 난수 집합은 ?
>>X = 23.5 * randn(10000,1) + 80
% 확인하기>> mean(X) >> std(X)
30
31
M(:,1) 형렬 M 의 1 열 데이터 추출
M(:)
2 차원 행렬 M 을 1 차원 열벡터로 변환
행렬 처리 명령 (:)
32
33
34
매트랩에서 제공하는 헨델의 메시아 음악에 난수로
모델링한 잡음성분을 추가한다 .
1. 문제를 명확히 나타낸다 .
2. 입출력을 표시한다 . 메시아 음악 데이터 파일 : handel.mat
>> load handel (handel.mat 은 들어있어요 )
출력 : 메시아 음악 + 잡음 데이터
3. 표준 난수 집합을 이용하여 잡음의 크기가 원하는 범위 사이에서 변하는
잡음데이터 파일을 만들어야 한다 . 어떤 명령을 내려야 할까 ?
Example 3.5 잡음 (noise)
35
교재 132 쪽의 명령을 하나씩 살펴보면서 실행시킨다 .
4. 매트랩으로 문제를 푼다 .
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')
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)
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)
39
매트랩이 처리할 수 있는 가장 큰 수와 작은 수
10-308
10308
어떤 수를 0 으로 나누면 Inf 가 출력된다 .
계산상의 한계
40
realmax
realmin
intmax
intmin
다음 명령으로 컴퓨터의 한계값을 알아보자 .
아주 큰 수나 작은 수를 사용하여 계산할 경우 , 계산 순서에 따라 결과가 달라질 수 있다 .
41
pi
i,j
Inf
NaN
clock
date
eps
ans
특수한 값과 기타 함수들
힌트 : 특수 함수인 i 를 무심코 변수로 다시 정의하여 사용하는 일이 흔히 일어난다 .
142 쪽의 표를 살펴보면서 어떤 값과 명령들인지 확인해봅시다 .
MATLAB for Engineers 42
매트랩에는 다음과 같이 다양한 함수들이 내장되어 있다 .
기본 수학함수
삼각함수
데이터 분석함수
난수 함수
복소수 함수
콜론 연산자를 사용하여 행렬을 조작할 수 있다 .
매트랩에는 계산상의 한계가 있다 .
매트랩에는 특수한 값과 특수 함수가 있다 .
요약