인공지능과 빅데이터의 발전으로, 자연과학과 공학은 이전보다 더 방대하고 복잡한 문제들을 다루게 되었고 문제해결에 있어 데이터 중심의 모델링과 프로그래밍이 핵심 요소로 자리 잡게 되었다. 이러한 새로운 환경에서 매트랩은 자연과학과 공학적 문제를 효율적으로 해결할 수 있는 강력한 기능을 제공한다. 매트랩은 수학적으로 모델링된 문제를 프로그래밍할 수 있는 다양한 명령을 제공하고, 명령의 실행으로 얻어진 결과를 시각적으로 표시하여 좀 더 쉽게 분석할 수 있는 기능을 제공한다. 이런 특징 때문에 매트랩은 신호 및 이미지 처리, 제어 시스템 설계, 통신 시스템 설계 등과 같은 공학 분야뿐만 아니라 물리 화학 등의 자연과학 분야에서도 유용하게 사용된다. 또한 금융모델링과 주가 예측 등의 경제학과 금융 분야에서도 사용되고 데이터의 통계분석 및 빅데이터 처리, 인공지능 분야에서도 사용된다.
Contents
CHAPTER 01 매트랩 시작하기
1.1 프로그램, 프로그래밍 그리고 프로그래밍 언어
1.2 데이터
1.2.1 데이터와 비트와 바이트
1.2.2 상수와 변수
1.2.3 연산자와 명령어
1.3 매트랩 시작하기
1.3.1 매트랩 데스크탑의 기본 창(Window)
1.4 매트랩 종료와 기타 기능
1.4.1 매트랩 종료하기
1.4.2 도움말 기능
1.4.3 편집기창(Editor Window)과 그림창(Graphics Window)
1.5 매트랩을 이용한 문제 해결
1.5.1 명령창에서 작업할 때 유의할 점
1.5.2 매트랩에서 제공하는 특수 상수
1.5.3 간단한 산술 연산을 위한 연산자
1.5.4 기본 명령어(내장함수)
연습문제
CHAPTER 02 데이터
2.1기본 데이터
2.1.1 데이터 형식
2.1.2 변수의 형식
2.1.3 데이터 형식 변환
2.2 스칼라, 벡터, 행렬
2.3 벡터
2.3.1 행벡터 생성
2.3.2 열벡터 생성
2.4 벡터 인덱싱(indexing)
2.4.1 인덱싱
2.4.2 참조와 대입
2.4.3 인덱스의 범위
2.4.4 다양한 인덱싱
2.5 벡터의 확장과 축소
2.5.1 벡터의 확장
2.5.2 벡터의 원소 삭제와 축소
2.6 2차원 행렬
2.6.1 2차원 행렬의 생성
2.7 2차원 행렬의 인덱싱
2.7.1 한 개의 원소 인덱싱
2.7.2 여러 개의 원소 인덱싱
2.8 2차원 행렬의 확장과 축소
2.8.1 2차원 행렬의 확장
2.8.2 2차원 행렬의 축소
2.9 2차원 행렬의 전치
2.10 명령어를 이용한 행렬 생성
2.10.1 zeros, ones, eye 명령어
2.10.2 randn, rand, randi 명령어
2.10.3 행렬의 크기변경 및 회전
2.10.4 행렬의 일부를 선택해 새로운 행렬을 생성하는 명령어
연습문제
CHAPTER 03 문자행렬과 문자열
3.1 문자벡터와 문자행렬
3.1.1 문자벡터
3.2 문자행렬 생성
3.3 문자벡터와 행렬의 인덱싱과 확장 축소
3.4 숫자를 문자행렬로 바꾸는 명령
3.5 문자열
3.5.1 문자행렬과 문자열
3.5.2 문자열 행렬 생성
3.5.3 문자열 행렬의 참조와 확장 생성
3.6 문자행렬과 문자열을 처리하기 위한 명령
연습문제
CHAPTER 04 연산
4.1 행렬의 산술 연산
4.1.1 스칼라와 스칼라의 산술 연산
4.1.2 스칼라와 행렬의 원소별 산술 연산
4.1.3 스칼라와 행렬의 대수적 산술 연산
4.1.4 행렬과 행렬의 산술 연산
4.2 관계 연산
4.3 논리 연산
4.4 매트랩 명령을 이용한 연산
연습문제
CHAPTER 05 스크립트 파일
5.1 스크립트 파일 작성과 실행
5.1.1 스크립트 파일의 구성
5.1.2 스크립트 파일 작성과 저장
5.1.3 스크립트 파일의 실행
5.1.4 저장된 스크립트 파일 열기
5.2 데이터 입력
5.2.1 input 명령어를 이용한 스칼라와 행렬 입력
5.2.2 input 명령을 이용한 문자행렬 입력
5.3 데이터 출력
5.3.1 disp 명령을 이용한 출력
5.3.2 fprintf 명령을 이용한 출력
연습문제
CHAPTER 06 실행 제어
6.1 조건문
6.1.1 if 문
6.1.2 switch 문
6.2 반복문
6.2.1 for 문
6.2.2 while 문
6.3 중첩 조건문과 중첩 반복문
6.4 continue와 break 명령어
6.4.1 continue
6.4.2 break
연습문제
CHAPTER 07 함수
7.1 사용자 정의 함수 파일 작성과 실행
7.2 사용자 정의 함수 파일 구조
7.2.1 함수 정의 라인
7.2.2 도움말
7.2.3 함수 몸체
7.2.4 키워드 end
7.3 함수핸들과 익명함수
7.3.1 함수핸들
7.3.2 익명함수
7.4 지역변수와 전역변수
7.4.1 작업공간과 스택영역의 지역변수
7.4.2 전역변수
7.4.3 영속변수
7.5 함수함수
7.6 입출력인자와 가변인자
7.6.1 입출력인자
7.6.2 가변인자
7.7 부함수(subfunction)
7.8 중첩함수(nested function)
7.9 재귀함수(recursive function)
연습문제
CHAPTER 08 매트랩 데이터 구조
8.1 셀 배열
8.1.1 셀 배열의 생성
8.1.2 셀 인덱싱(cell indexing)과 컨텐츠 인덱싱(content indexing)
8.1.3 셀 내용의 원소 인덱싱
8.1.4 중첩된 셀 배열
8.2 구조체
8.2.1 구조체 생성과 활용
8.2.2 구조체 배열
8.3 테이블
8.3.1 테이블 생성
8.3.2 테이블 참조
8.3.3 테이블의 열 다루기
8.3.4 테이블의 변환
8.3.5 테이블과 파일
연습문제
CHAPTER 09 파일 입출력
9.1 작업공간창의 변수의 저장과 호출
9.1.1 save 명령어
9.1.2 load 명령
9.2 파일에 데이터 입출력하기
9.3 파일 입출력 함수
9.3.1 텍스트모드와 이진모드
9.3.2 이진모드 파일 입출력
9.3.3 텍스트모드 파일 입출력 함수
9.4 파일 안에서 위치 이동
9.4.1 ftell 함수
9.4.2 fseek 함수
9.4.3 frewind 함수
9.5 파일에 행렬 쓰고 읽기
9.5.1 writematrix 함수
9.5.2 readmatrix 함수
연습문제
CHAPTER 10 2차원 데이터 시각화
10.1 plot 함수를 이용한 그래프 그리기
10.1.1 plot 함수에서 그래프 형식 바꾸기
10.1.2 plot 함수에서 속성이름과 속성값으로 그래프 형식 바꾸기
10.2 그래프에 텍스트 넣기
10.2.1 label 넣기
10.2.2 그래프 제목 넣기
10.2.3 텍스트 넣기
10.2.4 범례(legend) 넣기
10.2.5 문자열의 속성과 형식 지정
10.2.6 눈금선 넣기
10.3 다중 그래프
10.3.1 plot 함수 이용하기
10.3.2 plot 함수와 line 함수 이용하기
10.3.3 plot 함수와 hold on/off 기능 이용하기
10.3.4 한 그래픽 창을 여러 개의 부영역으로 나누는 다중 그래프
10.4 함수 그래프
10.4.1 fplot 명령
10.5 다양한 그래프
10.5.1 막대그래프
10.5.2 히스토그램
10.5.3 계단형 그래프
10.5.4 줄기형 그래프
10.5.5 원형 그래프
10.5.6 로그축 그래프
10.5.7 극좌표 그래프
10.5.8 보로노이 다이어그램
10.5.9 삼각분할 그래프
10.5.10 화살표 그래프
10.6 도형 그리기
10.6.1 축에 평행한 직선과 fill을 이용한 다각형 그리기
10.6.2 Patch를 이용한 다각형 그리기
연습문제
CHAPTER 11 3차원 데이터 시각화
11.1 plot3를 이용한 3차원 그래프 그리기
11.2 관측점 설정하기
11.3 그물망 그래프
11.3.1 (x,y) 좌표 격자점 생성
11.3.2 각 격자점들에 대한 z 값 계산
11.3.3 mesh 함수를 이용하여 그래프 그리기
11.3.4 meshz 함수를 이용하여 그래프 그리기
11.4 표면(surface) 그래프
11.5 등고선 그래프
11.5.1 2차원 등고선 그래프
11.5.2 3차원 등고선 그래프
11.5.3 meshc 함수
11.5.4 surfc 함수
11.6 다양한 3차원 그래프
11.6.1 구(sphere) 그래프
11.6.2 실린더(cylinder) 그래프
11.6.3 3차원 줄기(stem) 그래프
11.6.4 3차원 점(scatter) 그래프
11.6.5 3차원 파이(pie) 그래프
11.6.6 3차원 막대(bar)그래프
11.6.7 3차원 화살표 그래프
11.6.8 3차원 삼각분할 그래프
연습문제
CHAPTER 12 공학 응용
12.1 다항식
12.1.1 다항식 값 구하기
12.1.2 다항식의 사칙연산
12.2 방정식 해법
12.2.1 x의 다항식의 방정식 근 구하기
12.2.2 근을 이용하여 x의 다항식 구하기
12.2.3 비선형 방정식의 근 구하기
12.3 미분과 적분
12.3.1 다항식의 미분
12.3.2 정적분
12.4 커브 피팅(curve fitting)
12.5 보간법(interpolation)
연습문제
Author
임석진
(현) 성결대학교 컴퓨터공학부 교수
SK 하이닉스 메모리 연구소
California State University Sacramento 교환교수
관심분야: 시공간 데이터베이스, 빅데이터, 데이터마이닝, 클라우드 컴퓨팅
(현) 성결대학교 컴퓨터공학부 교수
SK 하이닉스 메모리 연구소
California State University Sacramento 교환교수
관심분야: 시공간 데이터베이스, 빅데이터, 데이터마이닝, 클라우드 컴퓨팅