Download presentation
Presentation is loading. Please wait.
1
Matlab 기초 한밭대학교 전기공학과 담당교수 : 이 경 복
2
차 례 1.1 기본적인 MATLAB 명령어 1.2 행렬과 벡터 연산 1.3 제어문 1.4 입출력 1.5 2차원 그래픽
1.6 3차원 그래픽 1.7 스크립트 및 사용자 정의 함수
3
1. Matlab이란 무엇인가? 수학과 관련된 계산 알고리즘 개발 상황 모델링과 data 분석
여러가지 과학과 공학적인 그래픽 표현 ex) >> syms x y %x, y 변수를 선언 >> y=int(sin(x)) % symbolic 데이터에 대한 적분 계산 Y= -cos(x) >> ezplot(y) %symbolic 데이터 plotting >> set(gcf, ‘color’,’w’) %Figure Window의 바탕색을 흰색으로 setting >> grid on
4
Matlab 작업 파일이 저장되는 경로 설정(1)
작업을 저장할 폴더 만들기
5
Matlab 작업 파일이 저장되는 경로 설정(2)
Current Directory 에 만든 폴더 경로를 쓰고 엔터
6
Matlab 화면구성 명령어 실행 현재 작업중인 변수와 값표시 현재 작업 폴더의 file 에 대한 list 를 보여준다
7
M-file 만들기
8
M-file 작성 (1)
9
M-file 작성 (2) F5 또는 Run 클릭 결과 보기 결과
10
Clc명령어 Command Window 창에 있는 내용만 지움
11
Clear 명령어 데이터 내용 지움
12
1.1 기본적인 MATLAB 명령어 전체 원소들은 대괄호([])로 둘러쌈 각 행의 원소들은 공백 또는 쉼포(,)로 분리
1.1.1 행렬과 벡터 생성 행렬 생성 방법 전체 원소들은 대괄호([])로 둘러쌈 각 행의 원소들은 공백 또는 쉼포(,)로 분리 한 행이 끝나면 원소 끝에 세미콜론(;)을 붙이거나 엔터키를 사용 벡터(행벡터 또는 열벡터) 생성시 위와 동일한 규칙을 적용
13
행렬 생성(1) 3x3 행렬 생성 예
14
행렬 생성(2) 1x3 행벡터(또는 3x1 열벡터) 생성 예
15
행렬 생성 (3) 일정 간격으로 증가 및 감소하는 벡터의 생성 콜론(:) 연산자 이용 % 증감값 생략시 디폴트 1
16
특수 행렬 생성 함수 특수 행렬 생성 함수
17
특수 행렬 생성 예 특수 행렬 생성 예
18
행렬과 벡터 다루기(1) 1.1.2 행열과 벡터 데이터 다루기 첨자(index) 이용 1차원 행렬은 1개, 2차원 행렬은 2개(행번호, 열번호), 3차원 행렬은 3개의 첨자(면번호, 행번호, 열번호)를 사용 첨자는 1부터 시작하는 정수이어야 함
19
행렬과 벡터 다루기 (2) 행렬(또는 벡터)의 원소값 수정 예
20
행렬과 벡터 다루기 (3) 행렬(또는 벡터)의 원소값 읽기 예
21
행렬과 벡터 다루기 (4) 연속 또는 불연속 부행렬(submatrix) 지정
행렬 A의 i행에서 j행까지의 요소들 중 k열에서 l열까지의 요소들을 의미
22
행렬과 벡터 다루기 (5) 한 행이나 한 열의 데이터에 접근
행렬 A의 i번째 행에서 j번째 행의 모든 요소에 접근(또는 모든 행 가운데 k번째 열에서 l번째 열의 요소에 접근) 파일로 저장된 데이터를 행렬로 읽어들인 후 각 데이터의 의미에 따라 각 변수에 저장시 자주 사용됨
23
행렬과 벡터 다루기 (6) 예 1,2,3행의 2열 원소
24
1.2 행렬과 벡터 연산 전치 행렬(transpose matrix) 행과 열을 바꾸는 연산 연산자 : ' 예제
25
행렬 전치 명령어 (1) 단순 전치만을 수행하고자 할 때는 .' 사용
만일 행렬의 원소가 복소수라면 켤레 복소수에 대한 전치를 수행 단순 전치만을 수행하고자 할 때는 .' 사용
26
행렬 전치 명령어 (2) A’ 2x1 행렬에서 1x 2 로 바꾸고 conjugate 취함 A.’
27
행렬 연산 (1) 행렬의 덧셈과 뺄셈 연산의 대상인 두 행렬의 크기는 동일해야 함 행렬 상의 첨자가 같은 원소에 대해 연산
연산자 : +, -
28
행렬 연산 (2) 행렬의 곱셈 행렬 X와 Y의 곱셈에서 X의 열크기와 Y의 행 크기가 일치해야 함 연산자 : * 예제
29
행렬 연산 (3) A * X = b의 해를 구하고자 하는 경우 X * A = b의 해를 구하고자 하는 경우 X=b ⁄ A
행렬의 나눗셈 좌측 연산자 \ A * X = b의 해를 구하고자 하는 경우 X = A \ b 우측 연산자 ⁄ X * A = b의 해를 구하고자 하는 경우 X=b ⁄ A
30
행렬 연산 (4) 예
31
행렬 연산 (5) 단 행렬 A는 정방행렬(square matrix)이어야 함 행렬의 거듭제곱
정방 행렬(square matrix) A, 스칼라 p에 대해 A^p는 A를 p번 곱하는 것을 의미 단 행렬 A는 정방행렬(square matrix)이어야 함 예
32
행렬 연산 (6) .(dot) 연산자 각 원소끼리 곱 또는 나누는 등의 연산시 사용 예제
33
행렬 연산 (7) 자주 사용되는 행렬 연산 함수
34
행렬 연산 (8) 예
35
행렬 연산 (9) 예
36
1.3 조건문 1.3.1 If, else와 elseif 가장 일반적인 조건문
37
조건문 (2) 예 양의 정수를 입력받아 그 수가 짝수인지 홀수인지를 판별하는 M-파일
38
조건문 (3) 1.3.2 switch 문 여러가지의 경우를 평가하는 다중 택일 제어문
39
조건문 (4) 예
40
조건문 (5) 1.3.3 for 문 조건 만족시 반복 작업을 위한 제어문 예
41
조건문 (6) 1.3.4 while 문 for 문과 마찬가지로 조건이 만족될 때까지 반복적으로 문장을 수행하는 제어문 예
42
1.4 입출력 화면에 메시지를 출력하고 사용자가 값을 입력할 때까지 기다렸다가 입력 완료시 변수 R에 입력값을 반환
1.4.1 Input 함수 키보드를 통한 데이터 입력 화면에 메시지를 출력하고 사용자가 값을 입력할 때까지 기다렸다가 입력 완료시 변수 R에 입력값을 반환 문자열을 입력하려면 option으로 ‘s’를 추가
43
입출력 (2) 예
44
입출력 (3) 1.4.2 disp 함수 변수명을 출력하지 않고 변수의 값만 출력 예
45
입출력 (4) 인자1, 인자2, …를 format에 의해 정의된 형식에 맞추어서 출력
1.4.3 fprintf 함수 파일에 임의의 데이터를 쓰거나 데이터를 특정 형태로 명령창에 출력시 사용 인자1, 인자2, …를 format에 의해 정의된 형식에 맞추어서 출력 format은 ‘%’로 시작하는 형식 변환 문자이며, 인자의 출력 형식을 조정하는 역할
46
입출력 (5) fprintf에서 사용되는 형식 변환 문자
47
입출력 (6) 예
48
1.5 2차원 그래픽 가장 간단한 그래픽 함수 linespec을 사용하여 벡터 x에 대한 벡터 y의 그래프를 도시
1.5.1 그래프 그리기 plot 가장 간단한 그래픽 함수 linespec을 사용하여 벡터 x에 대한 벡터 y의 그래프를 도시 Linespec : 선의 색상 및 종류, 마커를 나타내는 문자열 마커 : 사용된 각 데이터 좌표값에 표시되는 기호
49
2차원 그래픽 (2) linespec
50
2차원 그래픽 (3) 하나의 그림창에 여러 그래프를 도시할 때 예 X축,y축, ‘색깔 선모양 선표시’
51
2차원 그래픽 (4)
52
1.5.2 그래프의 겹쳐 그리기 Hold on/off Hold on - 이미 존재하는 그래픽 위에 덮어서 그리고자 할 때 사용
Hold off - 더 이상 같은 그림창에 그래프를 추가하지 않을 때 사용 Hold on/off 사용 예 그림 1.5에 y3=2+sin(x)의 그래프를 추가
53
1.5.2 그래프의 겹쳐 그리기 [그림 1.5]에
54
그래프 축의 최대값과 최소값 지정 그래프 축의 최대값과 최소값 지정 V는 x 축 및 y축의 최소 및 최대값의 행벡터벡터 예
55
그래프 축의 최대값과 최소값 지정 (2)
56
1.5.3하나의 그림창에 여러 그래프 그리기 subplot
하나의 그림창을 mXn의 작은 창으로 나누고, p번째 창에 그래프를 그림 하부 작은 창의 번호는 좌측 상단에서 우측으로, 위에서 아래로 차례로 1,2,…m*n 순으로 지정 예
57
하나의 그림창에 여러 그래프 그리기 (2) 예
58
하나의 그림창에 여러 그래프 그리기 (3)
59
1.5.4 그래픽 객체의 라벨링 그래프의 제목과 축 이름 붙이기 예
60
그래픽 객체의 라벨링 (2)
61
범례 출력하기 그래프 객채에 대한 설명문 여러 개의 그래프가 그려졌을 때 이를 구분하기 위해 사용 예
62
범례 출력하기 (2)
63
텍스트 출력하기 text 또는 gtext 함수 사용 그래프 객채의 특정 부분에 대한 설명을 위해 추가되는 문자열
예
64
텍스트 출력하기 (2)
65
격자 추가 및 제거하기 격자를 그리려면 grid on, 제거하려면 grid off 예
66
격자 추가 및 제거하기 (2)
67
1.6 3D 그래프 –윤곽선 그래프 N개의 선을 이용하여 xy 평면에 대한 높이 z의 윤곽선을 xy의 2차원 평면에 도시
contour N개의 선을 이용하여 xy 평면에 대한 높이 z의 윤곽선을 xy의 2차원 평면에 도시 N이 생략되면 디폴트 값이 사용됨 x, y, z는 행렬이어야 하므로 입력으로 벡터가 사용되었다면 meshgrid를 사용하여 행렬로 변환한 후 사용해야 함
68
윤곽선 그래프 (2) 예 에 대해 함수 의 윤곽선 그래프
69
윤곽선 그래프 (3)
70
면 그래프 (1) - mesh 1.6.2 면 그래프 면을 그리는 함수
71
mesh 면 그래프 (2) - mesh 네 개의 행렬 데이터 x,y,z,C의 입력에 대한 3차원 그물 격자 그래프를 도시
면을 그리기 위해 가장 많이 사용되는 함수 네 개의 행렬 데이터 x,y,z,C의 입력에 대한 3차원 그물 격자 그래프를 도시 C가 생략되면 z를 C로 사용하여 높이 z에 비례하는 색으로 그림 x, y, z는 행렬이어야 하므로 입력으로 벡터가 사용되었다면 meshgrid를 사용하여 행렬로 변환한 후 사용
72
면 그래프 (3) - mesh 예 에 대한 함수 의 3차원 그물 격자 그래프
73
면 그래프 (4) - mesh
74
surf 면 그래프 (5) - surf 면을 그리기 위한 또다른 함수
네 개의 행렬 데이터 x,y,z,C의 입력에 대한 3차원 표면 그래프를 도시 C가 생략되면 z를 C로 사용하여 높이 z에 비례하는 색으로 그림 x, y, z는 행렬이어야 하므로 입력으로 벡터가 사용되었다면 meshgrid를 사용하여 행렬로 변환한 후 사용
75
면 그래프 (6) - surf 예 에 대한 함수 의 3차원 표면 그래프
76
면 그래프 (7) - surf
77
면 그래프 (8) - meshc meshc Mesh와 contiur의 합성어로서 mesh를 사용하여 그려진 3차원 격자 그래프 아래에 윤곽선 그래프가 더해짐 사용 형식은 mesh와 동일 예
78
면 그래프 (9) - meshc
79
면 그래프 (10) - surfc surfc surf와 contiur의 합성어로서 surf를 사용하여 그려진 3차원 격자 그래프 아래에 윤곽선 그래프가 더해짐 사용 형식은 surf와 동일 예
80
면 그래프 (11) - surfc
81
1.7 스크립트/사용자 정의함수 스크립트 M-파일 일련의 긴 명령들을 한꺼번에 자동으로 수행하는 파일 함수 M-파일
실행 문장들을 포함하고 있는 파일 두가지 유형 스크립트 M-파일 일련의 긴 명령들을 한꺼번에 자동으로 수행하는 파일 함수 M-파일 외부로부터 값을 입력받아 함수 내에서 어떤 연산을 수행한 후 연산 값을 반환하는 파일
82
스크립트로서의 M 파일 1.4절의 제어문에서 예를 든 프로그램들 1.7.1 스크립트로서의 M-파일 사용
어떤 작업을 나중에 똑같거나 비슷하게 여러 번 수행해야 할 경우, 다시 루틴을 작성하기 위해 소비되는 시간을 줄이기 위함 명령창에서 이루어질 수 있는 모든 명령문을 M-파일에 작성한 후 명령창에서 파일명을 입력하여 실행 예 1.4절의 제어문에서 예를 든 프로그램들
83
함수로서의 M 파일의 사용 (1) 1.7.2 함수로서의 M-파일의 사용
외부로부터 값을 입력받아 연산을 수행한 후, 다시 외부로 값을 반환하는 함수 파일명은 함수명과 동일하게 지정해야 함 입력값과 반환값의 수에 따른 형태
84
함수로서의 M 파일의 사용 (2)
85
함수로서의 M 파일의 사용 (3) 파일명은 함수명과 동일하게 gob.m으로 지정 명실행하려면 파일명과 입력 인자를 입력령창에서
예 세 정수를 입력받아 곱을 반환하는 함수 M-파일 파일명은 함수명과 동일하게 gob.m으로 지정 명실행하려면 파일명과 입력 인자를 입력령창에서
86
함수로서의 M 파일의 사용 (4) Gob.m 파일로 저장
Similar presentations