에너지경제연구원 전자도서관

로그인

에너지경제연구원 전자도서관

자료검색

  1. 메인
  2. 자료검색
  3. 통합검색

통합검색

단행본

(문제해결 학습중심의)공학도를 위한 매트랩

판사항
4th Edition
발행사항
파주 : 생능출판사, 2015
형태사항
872p. : 삽화, 도표 ; 26cm
서지주기
색인수록
소장정보
위치등록번호청구기호 / 출력상태반납예정일
이용 가능 (1)
자료실E205907대출가능-
이용 가능 (1)
  • 등록번호
    E205907
    상태/반납예정일
    대출가능
    -
    위치/청구기호(출력)
    자료실
책 소개
이 책의 특징

공학이나 과학을 전공하는 학생들에게 「매트랩(MATLAB)」이라는 쉬우면서도 강력한 프로그래밍 언어를 소개하는 이 책의 특징은 다음과 같다.

· 다른 책들과는 달리 대학에 첫발을 막 내디딘 신입생의 수준에 눈높이를 맞추고 있다.

· 과학과 공학을 전공하는 학생이면 누구나 배우는 물리, 화학, 수학을 포함하여, 전기·전자공학, 화학공학, 기계공학, 건축공학에 이르기까지 다양한 과학, 공학 분야를 다루고 있다.

· 실제현상과 관련된 다양한 예제들을 「문제 명확히 하기」 → 「입력/출력 정의하기」 → 「손으로 풀기」 → 「매트랩으로 풀기」 → 「결과 검사하기」와 같이 5단계로 이루어진 체계적 문제풀이법으로 해결하면서, 단순히 계산하는 방법을 익히기보다는 전공에서 배우는 여러 가지 이론들을 현실에 적용하는 ‘문제해결능력’을 키우는 데 중점을 두고 있다.

· 미분방정식 풀이 기법, 수치계산 기법, 고급 그래픽 기법, 소리와 영상처리 기법, GUI 제작 기법, 시뮬링크(simulink)를 이용한 시스템 모델링 기법 등의 수준높은 내용도 함께 들어 있다.

이 책에서 소개하는 프로그래밍 언어 「매트랩(MATLAB)」의 장점은 다음과 같다.

· 다른 프로그램(C, C++, 포트란(FORTRAN), 파스칼(PASCAL), 자바(JAVA) 등)에 견주어 사용하기가 무척 쉽다.

· 여러 종류의 유용한 함수(미분, 적분, 인수분해, 근(root), 평균값, 표준편차, 중앙값, 라플라스 변환, 푸리에 변환 등)들이 미리 만들어져 있으므로 이들을 이용하여 원하는 프로그램을 쉽게 작성할 수 있다.
· 다른 어떤 프로그램보다 쉽고 편리하게 다양한 그래프(2차원 그래프, 3차원 그래프, 극좌표 그래프, 벡터 그래프 등)를 그릴 수 있다.

주요 내용

이 책은 크게 세 부분으로 나누어볼 수 있다.
먼저, 첫 번째 부분은「매트랩 사용의 기초」로 학생들이 매트랩을 처음 사용하는 데 필요한 것들이다.

· 1장에서는 매트랩이 공학분야에서 어떻게 사용되고 있는지 설명하고, 이어서 「체계적 문제풀이법」이라는 표준 문제 풀이 방법을 소개한다.
· 2장에서는 매트랩 환경과 기본 연산을 수행하는 데 필요한 매트랩 사용기법을 설명한다. 또한 이 장에서는 M-파일에 대해 알아보는데, 이것을 먼저 배우는 것은 M-파일을 이용하면 학생들이 매트랩으로 작업한 결과를 저장하기가 훨씬 쉽고 프로그램을 짜는 방법을 제대로 익힐 수 있기 때문이다.
· 3장에서는 매트랩에 내장된 함수들을 사용하여 매우 다양한 분야의 문제들을 풀어본다. 학생들이 이 함수들의 사용법을 이해하는 데 도움이 되도록 관련된 내용들을 함께 설명한다. 한 가지 예를 들어보면, 정규분포형(가우스) 난수와 균일분포형 난수의 차이점을 설명하고 각 형태의 난수에 관련된 예제를 풀어가며 진행하는 방식이다.
· 4장에서는 매트랩에서 행렬을 만들고 조작하여 문제를 해결하는 방법을 자세히 설명한다. 이 장에서 소개하는 meshgrid 함수를 이용하면 변수가 2개인 문제를 풀 수 있다. meshgrid 함수의 사용방법과 그 개념에 대해서는 다음 장인 5장에서 면 그래프(surface plot)를 배울 때 다시 다루게 된다.
· 5장에서는 매트랩으로 그릴 수 있는 다양한 2차원 그래프와 3차원 그래프에 대해 설명한다. 특히 매트랩의 명령창이나 M-파일에서 이들 그래프를 그리는 방법을 다룬다. 그밖에도 이미 그려진 그래프를 대화방식으로 편집하는 방법과 작업공간창(workspace window)에서 곧바로 그래프를 그리는 방법도 소개한다.
이 책의 두 번째 부분은「매트랩을 이용한 프로그래밍」으로 여기서는 학생들에게 프로그램을 작성하는 방법을 소개한다.

· 6장에서는 사용자 정의 함수를 만드는 방법을 설명한다. 또한 사용자가 프로그래밍 프로젝트를 수행하면서 자신이 만든 사용자 정의 함수들을 모아놓는 자신만의 도구상자(toolbox)를 만드는 방법을 설명한다.
· 7장에서는 프로그램과 사용자가 서로 대화(즉 상호작용)를 하는 데 사용되는 함수들에 대해 다루는데, 사용자 제어 입력함수, 형식화된 출력함수, 그래프 입력 함수 등이 이러한 유형의 함수이다. 이와 함께 매트랩에서 프로그램 디버깅에 사용되는 도구에 대해 설명한다.
· 8장에서는 논리함수인 find 함수의 사용법을 설명하고 제어구조(if, if/else, switch/case)를 사용하여 프로그램을 작성하는 방법을 다룬다. 매트랩을 배우기 전에 이미 프로그래밍 경험을 가진 학생이나 강사 중에는 매트랩 특유의 행렬처리기법을 바탕으로 하는 함수들을 사용할 때의 장점에 별로 관심을 두지 않는 경우가 종종 있으므로, 8장에서는 특히 제어구조에 비해 이러한 부류에 속하는 함수인 논리함수의 사용에 더 큰 비중을 두어 설명한다.
· 9장에서는 반복구조(for 루프, while 루프)와 break 명령을 사용하는 도중중단 루프(midpoint break loop)를 사용하여 프로그램을 작성하는 방법을 다룬다. 학생들은 특히 반복구조의 개념을 까다롭게 여기기 때문에 예제를 많이 다루고 있다.

1장에서 8장까지는 순서대로 공부하는 것이 좋다. 이 책의 세 번째 부분인 「고급 매트랩 개념」에 속해 있는 장들은 저마다 독립된 내용을 다루고 있다. 따라서 세 번째 부분에 속한 장들 전체나 일부를 정규 수업시간에 다루어도 되고 아니면 스스로 공부하면서 참고자료로 활용하여도 좋다. 세 번째 부분에 속한 장들을 공부하면서 배우는 기법들은 공학분야의 문제들을 푸는 과정에서 특히 유용하게 쓰일 것이다.

· 10장에서는 행렬연산을 이용하여 점곱(dot product), 가위곱(cross product), 그리고 연립방정식 문제를 푸는 방법에 대해 설명한다. 예전에는 행렬연산이 공학을 전공하는 학생이면 거의 모두 수강하는 물리학(정역학과 동역학) 과목에 주로 활용되었지만 지금은 모든 공학분야에서 널리 사용되고 있다.
· 11장에서는 매트랩이 지원하는 다양한 데이터 유형을 소개한다. 이 장은 특히 전기·전자 공학이나 컴퓨터 공학과 관련된 부분을 전공하는 학생들에게 유용하다.
· 12장에서는 MuPAD 엔진을 기반으로 하는 기호수학(symbolic mathematics)에 대해 설명한다. 특히 수학과 관련된 과목을 공부하는 데 이 장에서 배우는 내용을 활용할 수 있다. 내가 가르친 학생들은 이 책의 내용 중에서 특히 이 장에서 배운 여러 기법들이 가장 유익했다고 하였다.
· 13장에서는 곡선맞춤(curve fitting)과 통계학을 포함하여 여러 가지 다양한 분야에서 사용되는 수치계산 기법을 다룬다. 화학이나 물리학과 같이 실험실습을 함께하는 과목을 수강하는 경우나 열전달, 유체역학, 물질강도와 같은 내용을 다루면서 실험실습을 병행하는 공학과목을 수강하는 경우에 여기서 다루는 기법들을 유용하게 쓸 수 있다.
· 14장에서는 데이터를 여러 가지 형태의 그래프로 나타내어 시각화하는 기법에 대해 살펴본다. 이러한 기법들은 구조해석, 유체역학, 열전달과 같은 분야에서 수치해석을 하면서 얻게 되는 계산결과를 분석하는 데 특히 유용하다.
· 15장에서는 그래픽 사용자 인터페이스(Graphic User Interface, GUI)를 소개한다. 매트랩에서는 GUIDE 프로그램을 사용하여 GUI를 쉽게 만들 수 있다. 이 장에서는 컴퓨터에서 일상적으로 사용되고 있는 각종 GUI들이 어떤 방법으로 만들어진 것인지 알 수 있도록 몇 가지 GUI를 직접 만들어본다.
· 16장에서는 매트랩의 시뮬레이션 프로그램 패키지인 시뮬링크(Simulink)를 소개한다. 시뮬링크를 실행하려면 MATLAB 프로그램이 필요하다. 시뮬링크는 다양한 블록을 서로 결합하는 그래픽 사용자 인터페이스 방식으로 동적 시스템에 대한 해석 모델을 만든다. 현재 시뮬링크는 전기, 전자 공학을 포함한 공학분야 전체에서 널리 응용되고 있다.

부록에는 이 책에서 다루는 모든 함수와 특수기호, 특수문자들이 빠짐없이 수록되어 있으며, 그래프가 직선 형태로 데이터를 처리하는 방법을 설명하고 있다. 또한, 15장에서 다루는 GUI인 ready_aim_fire를 만드는 데 필요한 프로그램들이 모두 수록되어 있다.
목차
1장 매트랩 개요 1.1 매트랩 소개 1.2 매트랩 학생용 버전 1.3 매트랩 이용분야 1.4 공학과 과학 분야의 문제해결방법 2장 매트랩 환경 2.1 시작하기 2.2 매트랩의 창(MATLAB Window) 2.3 매트랩으로 문제해결하기 2.4 작업 결과를 저장하기 3장 매트랩의 내장 함수 3.1 내장 함수 사용하기 3.2 도움말 기능 사용하기 3.3 기본 수학함수 3.4 삼각함수(Trigonometric Function) 3.5 데이터 분석 함수 3.6 난수(random number) 3.7 복소수(Complex Numbers) 3.8 특수한 값과 기타 함수 4장 매트랩에서 행렬 다루기 4.1 행렬 다루기 4.2 두 변수 사이의 연산 4.3 특수 행렬 5장 그래프 그리기 5.1 2차원 그래프 5.2 다중 그래프 5.3 여러 가지 2차원 그래프 5.4 3차원 그래프 5.5 메뉴표시줄에서 그래프 편집하기 5.6 작업공간창에서 그래프 그리기 5.7 그래프 저장하기 6장 사용자 정의 함수 6.1 함수 M-파일 만들기 6.2 내 도구상자 만들기 6.3 익명함수(anonymous function) 6.4 함수의 함수 6.5 하위함수 (4판 NEW) 7장 사용자 제어 입·출력 7.1 사용자 제어 입력 7.2 출력 제어 7.3 그래프 입력 7.4 M-파일에서 셀 모드 사용하기 7.5 파일에서 데이터 읽고 쓰기 7.6 프로그램 디버깅하기 (4판 NEW) 8장 논리 함수와 선택 구조 8.1 관계 연산자와 논리 연산자 8.2 순서도와 슈도코드 8.3 논리 함수 8.4 선택구조 8.5 디버깅 9장 반복구조 9.1 시작하기 9.2 매트랩의 창(MATLAB Window) 9.3 매트랩으로 문제해결하기 9.4 작업 결과를 저장하기 10장 행렬 연산 10.1 행렬 연산과 함수 10.2 선형 연립방정식 풀잇법 10.3 몇 가지 특수 행렬 11장 배열의 종류 11.1 데이터의 유형 11.2 다차원 배열 11.3 문자 배열 11.4 셀 배열 11.5 구조체 배열 12장 기호 수학 12.1 기호 연산 12.2 수식과 방정식 풀기 12.3 기호수식 그래프 그리기 12.4 미분과 적분 12.5 미분 방정식 12.6 기호수식을 익명함수로 변환하기 (4판 NEW) 13장 수치해석 기법 13.1 내삽법 13.2 곡선맞춤 13.3 대화형 곡선맞춤 도구 13.4 차분과 미분 13.5 수치 적분 13.6 미분방정식의 수치 해법 14장 고급 그래픽 기능 14.1 이미지 14.2 핸들 그래픽 14.3 애니메이션 14.4 여러 가지 시각화 기법 14.5 3차원 데이터의 시각화 기법 15장 그래픽 사용자 인터페이스 만들기 (4판 NEW) 15.1 사용자 상호작용 입력이 하나인 간단한 GUI (4판 NEW) 15.2 사용자 상호작용 입력이 여러 개인 GUI - Ready-Aim-Fire (4판 NEW) 15.3 Ready-Aim-Fire 프로그램 개선하기(1) (4판 NEW) 15.4 Ready-Aim-Fire 프로그램 개선하기(2) (4판 NEW) 15.5 매트랩에 내장된 GUI 템플릿 (4판 NEW) 16장 시뮬링크(Simulink) (4판 NEW) 16.1 시뮬링크 응용분야 (4판 NEW) 16.2 시뮬링크 시작하기 (4판 NEW) 16.3 시뮬링크로 미분방정식 풀기 (4판 NEW) 부록A 매트랩 총정리 A.1 함수(function) A.2 명령어(command) A.3 특수문자(special character) 부록B Scaling Techniques 부록C The Ready_Aim_Fire GUI 부록D Annual Climatological Summary 부록E 실습문제 해답