You are on page 1of 51

프로그래밍기초

– BASIC OF PROGRAMMING
소개 – 이력1

직위
재직기간 재직년월 재직 기관명 직명
(총시간)
2012.01.01.~
3년 광운초등학교 프로그래밍 강의 6시간 외래강사
2015.01.01

2014.01.01.~
2년 MOS 국제공인자격증 강의 9시간 외래강사
2016..01.01

2015.01.01~
경력사항 1년 S-LAB 소프트웨어 연구소 9시간 선임연구원
2016.01.01
2016.01.01.~
3년 (주)캐리마 3D 프린터 연구소 9시간 선임연구원
2019.03.08

2019.01.01.~
4년 세영컴퓨터학원 9시간 원장
현재

2019.01.01.~
4년 광운대학교 9시간 겸임교수
현재
소개 – 이력2
프로젝트 실적 및 연구 과제 실적

게재
프로젝트명/연구과제명 수행기관 수행처 비고
연월

‘16.01 의안과 외장의안 제작을 위한 신개념 3D 프린터 사업 미래창조과학부 .. 프로젝트

The Comparison of Performance Hierarchical Routing Protocols in Wide Area Sensor International Journal of Advanced Smart
‘16.03 한국인터넷방송통신학회 연구
Field Convergence

Hierarchical WSN Dual-hop Routing Protocol for Improvement of Energy International Journal of Advanced Smart
‘16.06 한국인터넷방송통신학회 연구
Consumption Convergence

‘16.11 원격 모니터링이 가능한 치아보정용 고정밀 3D 프린터 개발 중소기업청 .. 프로젝트

‘17.01 3D 어피어런스 매니퓰레이션 기반 영화/공연용 특수분장 마스크 제작 문화체육관광부 .. 프로젝트

‘17.11 바디 센서 데이터를 위한 MXMDR-DAI 기반의 모바일 클라우드 시스템 융복합지식학회논문지 융복합지식학회 프로젝트

International Journal of International Journal of


‘18.07 One Board Type Multi Video Control System
Engineering & Technology Engineering & Technology

‘18.11 One 보드 다기능 멀티 비디오 컨트롤 O2O 시스템 개발 한국산업단지공단 .. 프로젝트


강의계획서 – 교재
MATLAB – 매트랩이란?
매트랩(MATLAB)

➢ MATrix LABoratory의 앞쪽 세 글자의 합성

➢ 행렬을 만들고 조작하여 데이터와 함수 처리가 용이

✓ 그래프로 표현

➢ 쉽고 효율적인 고급 프로그래밍 언어

✓ 다른 프로그래밍 언어와 호환가능

✓ 내장함수와 사용자정의함수 이용

➢ 대화형 인터페이스(interface) 시스템


MATLAB – 매트랩이란?
MATLAB으로 무엇을 할까?

➢ 다양한 응용 분야에 사용
✓ 신호 처리 및 통신, 이미지와 비디오 처리, 제어 시스템, 테스트 및 측정
✓ 수치 계산, 데이터 분석 및 시각화
➢ 프로그래밍 및 알고리즘 개발
✓ 응용 프로그램 개발 및 배포 등이 가능
MATLAB – 매트랩이란?
➢ 수치 계산
MATLAB – 매트랩이란?
➢ 데이터 분석 및 시각화
MATLAB – 다운로드 방법 1
MATLAB – 다운로드 방법 2
MATLAB – 다운로드 방법 3
MATLAB – 다운로드 방법 4
광운대학교 홈페이지 – KW LIFE – 매트랩(MATLAB) S/W 안내 글 참고
CH1. MATLAB 프로그램
과 프로그래밍
14

학습 목표

1 프로그램을 정의하고 프로그래밍의


기본을 이해한다.

매트랩을 시작하는 방법과 매트랩


2 의 각 창을 이해한다.

3 변수와 연산자를 이해하고 명령어 창


에서 실행한다.
15

1.1 프로그램과 프로그래밍

프로그램 컴퓨터를 이용하여 문제를 해결하기 위한 명령어들의 모임

어떤 데이터를 어떻게 연산하여 결과로 어떤 데이터를 내보


내라고 하는 일련의 과정을 서술한 것

프로그래밍 프로그램을 작성하는 과정


16

컴퓨터를 이용하여 처리하는 데이터

모든 데이터는 컴퓨터가 인식하여 처리할 수 있는 형식으


로 만들어 주어야 하며 이것은 최종적으로는 2진수로 표
현된다.
17

문자 데이터의 숫자 표현
▪ 문자 데이터도 컴퓨터 내부적으로는 숫자로 변환되어 처리된다.

▪ 문자 데이터를 숫자 데이터로 또는 숫자 데이터를 문자 데이터로 변환하기 위


해서는 ASCII 코드와 같은 코드표를 이용한다.
18

1.1.1 상수와 변수
▪ 상수: 어떤 값 자체를 의미
▪ 변수: 상수를 저장하는 기억 장소에 대한 이름

3, -20 2.43 , -9.235

‘a' , ’x'
Student
I am Sam.
19

변수 x에 정수형 상수 3을
대입하는 것을 의미

변수 y에 정수형 상수 5을
대입하는 것을 의미

저장소에 저장될 값 또는 저장
값을 저장하는 저장소의 의미 된 값을 의미

대입연산자 :
R-value를 L-value 대입 (또는
저장)
20

L-value로서 상수 3을
저장하는 저장소

R-value로 사용되어 저장
하고 있는 상수 3을 의미
21

1.1.2 연산자와 명령어

데이터
프로그램 데이터
처리 기능
상수와 변수 연산자와 명령어

▪ 연산자: + (더하기 연산자), = (대입 연산자)

▪ 명령어: sum(더하기 명령어) 예) sum(x,y)


22

1.2 매트랩 시작하기

매트랩 로고

바탕화면 아이콘
더블클릭

매트랩의
기본 데스크탑
23

1.2.1 매트랩 데스크탑의 기본 창(Window)

창 (Window) 목적
명령어 창 메인 창으로 변수를 입력하고, 프로그램을 실행함
(Command Window)
그림 창 그래프 명령어의 실행 결과가 표시됨
(Figure Window)
편집기 창 스크립트 파일과 함수 파일을 생성하고 디버깅함
(Editor Window)
도움말 창 도움말 정보를 제공함
(Help Window)
명령어기록 창 명령어 창에 입력된 명령어들을 기록함
(Command History Window)
작업공간 창 저장된 변수에 대한 정보를 제공함
(Workspace Window)
현재 디렉터리 창 현재 디렉터리에 있는 파일들을 보여줌
(Current Folder Window)
24

1.2.1 매트랩 데스크탑의 기본 창(Window)


사용자의 명령을 입력
– 명령어창(Command Window),
도구 띠(Toolstrip)
– 현재디렉터리창(Current Directory Window),
– 작업공간창
(Working space)

사용자변수들에 대한
정보제공
25

(1) 명령어 창 (Command Window)

변수를 생성하여 상수 값들을 저장하고 생성된 변수들을 명령어나 연산자


를 이용하여 계산하여 결과 값을 얻을 수 있는 창
26

예제 1
<27명령어 창의 명령 삭제 >

ⅰ) 명령어 창에서 clc 명령 실행 Ii ) 코드 메뉴의 명령 지우기


(2)28작업공간 창(Workspace Window)

▪ 명령어 창에서 생성한 변수들의 속성을 보여주는 창이다.


▪ 변수의 이름, 변수의 값, 변수가 저장하고 있는 데이터의 형식등의 속성을 보여준다.

예제 1을 실행한 후의 작업공간 창
29
MATLAB
< 작업공간 창에서 보여지는 변수들의 PROGRAMMING
속성을 CH 1 >
추가하거나 삭제하기
30

<명령어 창에서 변수 확인>


ⅰ) who 명령어
명령어 창에서 who 명령을 입력하여 실행하면 현재 작업공간 창에 저장된 변
수들의 이름을 명령어 창에 보여준다.

ⅱ) whos 명령어
명령어 창에서 whos 명령을 입력하여 실행하면 현재 작업공간 창에 저장된
변수들의 이름, 크기와 데이터형 등을 명령어 창에 보여준다.
< 작업공간
31 창의 변수 삭제 >

ⅰ) 특정 변수 삭제
명령어 창에서 ‘clear 변수이름’을 입력하여 실행
ⅱ) 32
작업공간 창의 모든 명령을 삭제
- 명령어 창에서 clear 명령 실행 MATLAB PROGRAMMING CH 1

iii)변수 메뉴의 작업공간 지우기


33

(3) 명령어기록 창 (Command History Window)

매트랩 사용자가 지금까지 실행했던


명령들을 시간순으로 기록하여 보여
주는 창
34

(4) 현재디렉토리 창(Current Directory Window)


35

< 현재 디렉토리를 변경 >


36

1.3 기타 기능
1.3.1 매트랩 종료하기

ⅰ) File 메뉴의 Exit MATLAB을 선택하여 실행한다.


ⅱ) 명령어 창에 exit 명령어 또는 quit 명령어를 입력하여 실행한다.
ⅲ) 매트랩 데스크탑의 오른쪽 구석에 있는 아이콘을 클릭한다
37

1.3.2 도움말 기능
ⅰ) help 명령어 이용
명령어 창에서 ‘help 특정명령어 이름’을 입력하여 특정 명령어에 대한 도움
말을 볼 수 있다.
38

1.3.2 도움말 기능
ii ) help 명령어 이용
asin 함수를 help하여 도움말 찾아보기
39

1.3.4 편집 창(Edit Window)과


그림 창 (Graphics Window)
40

1.4 명령어 창을 활용한 문제 해결


1.4.1 명령어 창에서 작업할 때 유의할 점

- 명령어 창에서는 대문자와 소문자를 구분하여 사용한다.


- 명령어 창에서 명령의 끝에 세미콜론 (;)을 입력하면 실행 결과가 화면에 출
력되지 않는다.
- 명령어 창의 한 라인에 여러 개의 명령을 한꺼번에 입력하여 그 명령을 차례
대로 실행시킬 수 있다. 이때 명령어들은 컴마(,)로 구분하여야 하고 실행은
왼쪽에서 오른쪽으로 명령을 순차적으로 실행된다.
- 명령어 창에서 방향키를 사용하여 이전에 실행했던 명령을 다시 호출하여 실
행할 수 있다.
41

1.4.2 변수 생성 규칙

- 변수에 포함될 수 있는 문자는 영문자 알파벳, 0~9까지의 숫자, 그리고 밑줄 (_)을


포함할 수 있다. 그리고 문자는 대문자와 소문자는 서로 구분된다.
- 모든 변수는 반드시 문자로 시작해야 한다.
- 한 변수에 포함될 수 있는 문자의 개수는 최대 63개까지 이다.
- 변수에는 구두점, 즉 마침표, 컴마, 세미콜론, 콜론 등이 포함될 수 없다.
- 변수의 각 문자들 사이에 공백이 들어갈 수 없다.
- 매트랩에서 제공하는 명령어와 같은 이름으로 변수이름을 만들 수 없다.
- 매트랩의 예약어(reserved word)들과 동일하게 변수 이름을 만들 수 없다.
42

1.4.3 매트랩에서 제공하는 특수 상수

상수 설명

수가 아니라는 의미이다. 예를들어 0/0을 실행하면 결과가 NaN으로 나


NaN
온다

pi 원주율 π(3.141592653589.....)

inf 무한대를 의미한다.

i, j 복소수에서 허수를 나타내는 단위

realmax 매트랩에서 표현할 수 있는 가장 zms 소수점 수를 의미, 1.7977e+308

realmin 매트랩에서 표현할 수 있는 가장 작은 소수점 수를 의미, 2.2252e-308

eps 매트랩에서 수치 계산할 때 발생하는 허용 오차, 2.2204e-016


43

1.4.4 간단한 산술 연산을 위한 연산자

연산자 기호 예

덧셈 + 3+5

뺄셈 - 3-5

곱셈 * 3*5

오른쪽 / 2/5 ( = 0.4 )


나눗셈
왼쪽 \ 5\2 ( = 2/5 = 0.4 )

거듭제곱 ^ 2^5 ( = 32 )
44

<예제 2>
45

<예제 3> sin 함수 그래프 그리기


46

1.4.5 기본 명령어 (내장 함수)


(수학 함수)

함수 설명 예
>> sqrt(64)
sqrt(x) x의 제곱근
ans = 8
>> exp(1)
exp(x) 지수 𝑒𝑥
ans = 2.7183
>> abs(-4)
abs(x) 절대값
ans = 4
자연로그 >> log(100)
log(x)
밑이 e인 로그 ans = 4.6052
>> log10(100)
log10(x) 밑이 10인 상용로그
ans = 2.0000
>> factorial(7)
factorial(x) x! 계산
ans = 5040
47

(삼각 함수)

함수 함수
예 예
( 각:라디안 ) (각: degree )

>> sin(pi/2) >> sind(90)


sin(x) sind(x)
ans = 1 ans = 1

>> cos(pi/3) >> cosd(60)


cos(x) cosd(x)
ans = 0.5 ans = 0.5

>> tan(pi/3) >> tand(60)


tan(x) tand(x)
ans = 1.7321 ans = 1.7321

>> cot(pi/6) >> cotd(30)


cot(x) cotd(x)
ans = 1.7321 ans = 1.7321
48

(근사화 함수)
함수 설명 예
>> round(1.78)
round(x) 가장 가까운 정수로 근사화
ans = 2
>> fix(2.999)
0 방향을 향해서 가장 가까운 정수를 구 ans = 2
fix(x)
하는 함수 >> fix(-1.98)
ans = -1
>> ceil(3.0001)
ans = 4
ceil(x) 올림함수
>> ceil(-3.999)
ans = -3
>> floor(3.999)
ans = 3
floor(x) 내림함수
>> floor(-3.999)
ans = -4
x를 y로 나누었을 때 나머지를 구하는 함 >> rem(27,5)
rem(x, y)
수 ans = 2
>> sign(4)
ans = 1
부호함수
>> sign(-3)
sign(x) x>0 이면 1, x<0이면 -1,
ans = -1
x=0이면 0.
>> sign(0)
ans = 0
49

공학 예제
50
51
MATLAB PROGRAMMING CH 1

You might also like