공학도를 위한 매트랩 (제5판)

공학도를 위한 매트랩 (제5판)

$48.97
Description
이 전에 신호처리와 수치해석의 전문가들이 주로 사용하였던 MATLABⓇ이 최근 몇 년 사이에 공학 분야에도 널리 확산되어 사용되고 있다. 많은 공과대학에서 교과과정의 초기에 전체적으로 또는 부분적으로 MATLAB에 기초한 강좌를 필요로 하고 있다. MATLAB은 프로그램이 가능하고, 다른 프로그램 언어들과 같은 논리, 관계, 조건 그리고 루프(loop) 구조를 가진다. 따라서 프로그래밍 원리를 가르치는 데 사용될 수 있다. 대부분의 공과대학에서 MATLAB은 교과과정 전반에 걸쳐 주요한 계산 도구로 사용되고 있다. 신호처리와 제어시스템과 같은 어떤 전공 분야에서는 분석과 설계를 위한 표준 소프트웨어 패키지이다.
MATLAB의 인기는 일부 그 긴 역사에 기인하기 때문에, 훌륭하게 개발되었으며, 잘 검증되었다. 사람들은 그 답을 신뢰한다. MATLAB의 인기는 또한 사용자 인터페이스 때문이기도 하며, 사용자 인터페이스는 광범위한 수치 계산과 시각화 기능을 포함한 사용하기 쉬운 대화형(interactive) 환경을 제공한다. 또한 MATLAB의 큰 장점은 간결함이다. 예를 들어, 단지 세 줄의 코드로 많은 선형대수 연립방정식을 능숙하게 풀 수 있으며, 이것은 전통적인 프로그래밍 언어로는 불가능하다. MATLAB은 또한 확장성을 가지고 있다. 현재 다양한 응용 분야에서 30개 이상의 ‘툴박스(Toolbox)’로 새로운 명령과 기능을 추가하여 MATLAB과 함께 사용할 수 있다.
MATLAB은 여러 운영 시스템에서도 사용할 수 있다. 이러한 모든 플랫폼 사이에 호환이 가능하므로, 사용자들은 프로그램과 통찰력 그리고 아이디어를 공유할 수 있다. 이 책은 소프트웨어 버전 R2021a의 MATLAB을 기반으로 한다. 이것은 MATLAB 버전 9.10을 포함한다. 9장의 일부 내용에는 버전 10.10의 제어시스템 툴박스를 기반으로 한다. 10장은 버전 10.3의 시뮬링크를 기반으로 하며, 11장은 버전 8.7의 Symbolic Math 툴박스를 기반으로 한다.

이 교재의 목적은 MATLAB을 소개하고자 하는 것이다. 입문 과정에서는 자습서나 부교재로 사용할 수 있다. 교재 내용은 저자의 경험에 따라 공과대학 1학년 학생을 대상으로 한 학기 2학점 강좌에 적합하게 되어 있다. 또한 교재는 후에 참고문헌으로 활용할 수 있다. 본문의 많은 표와 부록 및 각 장의 끝에 있는 참조 시스템들은 이러한 목적을 염두에 두고 구상되었다. 이차적인 목표는 일반적으로 공학도들이 문제를 연습할 때, 특히 컴퓨터를 사용하여 문제를 풀 때, 문제 해결 방법론을 소개하고 심화 교육하는 것이다. 이 방법론은 1장에서 소개된다.
독자들은 대수와 삼각함수에 대하여 어느 정도 알고 있다고 가정한다. 처음 8장까지는 미적분에 대한 지식은 필요하지 않다. 몇몇 예제들을 이해하기 위해서는 고등학교 화학, 물리 및 기초적인 간단한 전기회로 그리고 기초적인 정역학과 동역학에 대한 어느 정도의 지식이 요구된다.

교재의 구성
본 교재는 이전 교재를 업데이트하여 새로운 기능들, 새로운 함수들, 구문과 함수에서의 변경 사항들을 포함하였고, 검토자와 다른 독자들로부터의 많은 제안을 반영하였다. 많은 예제와 숙제 문제도 추가하였다.
교재는 12개의 장으로 구성된다. 처음 5개의 장은 MATLAB의 기본적인 주제로 구성되어 있다. 나머지 7개의 장은 각각 서로 독립적이며, MATLAB의 더욱 심화된 응용, 제어 시스템 툴박스, Simulink, Symbolic Math 툴박스를 다룬다.

1장에서는 윈도와 메뉴 구조를 포함한 MATLAB의 특징들에 대해 개략적으로 설명한다. 또한 문제 해결 방법론을 소개한다.
2장에서는 MATLAB에서 기본적인 데이터 요소인 배열의 개념에 대해 소개하고, 기초적인 수학 연산을 위한 수치 배열, 셀 배열, 구조체 배열의 사용법을 소개한다.
3장에서는 함수와 파일의 사용에 대해 다룬다. MATLAB은 광대한 수의 내장된 수학 함수들을 갖고 있으며, 사용자는 자기 자신의 함수들을 정의하고 재사용을 위해 파일로 저장할 수 있다.
4장은 MATLAB 프로그래밍을 다루며, 관계 및 논리 연산자, 조건문, for와 while 루프, 그리고 switch 구조를 포함한다.
5장은 2차원과 3차원 그래프를 다룬다. 먼저 전문적이고 유용한 그래프의 표준을 정립한다. 저자의 경험에 따르면, 처음 경험하는 학생들은 이러한 표준을 잘 모르므로 강조하여 설명한다. 그러고 나서 이 장에서는 다른 형태의 그래프를 그리고 외관을 제어하는 MATLAB 명령을 다룬다.
6장은 데이터의 그래프를 이용하여 데이터의 수학적인 식을 구하는 모델링을 구축하는 데 유용한 도구인 함수 찾기를 다룬다. 이것은 그래프의 공통적인 응용으로 이 주제를 위하여 한 절을 할당하였다. 이 장은 또한 모델링 영역의 일부로써 다항식과 다수의 선형 회귀분석에 대해 다룬다.
7장에서는 기초적인 통계와 확률을 복습하고 히스토그램을 생성하며, 정규분포 계산과 랜덤 숫자 시뮬레이션을 생성하기 위하여 MATLAB을 사용하는 방법을 설명한다. 이 장은 선형과 3차 스플라인(cubic-spline) 보간법으로 끝맺는다.
8장은 선형 대수방정식의 해법을 다루며, 이들은 모든 공학 분야의 응용에서 발생한다. 이 범위에는 컴퓨터 방법을 올바르게 사용하는 데 필요한 용어와 몇 가지 중요한 개념을 설정한다. 그 다음으로 이 장에서는 선형 방정식의 과소결정(Underdetermined) 시스템과 과잉결정(Overdetermined) 시스템의 해를 구하기 위하여 MATLAB을 어떻게 사용하는지를 보인다.
9장은 미적분학과 미분방정식에 대한 수치적 방법을 다룬다. 수치 적분과 미분 방법을 다룬다. Control System 툴박스에 있는 선형시스템 해법뿐만 아니라, MATLAB 주 프로그램에 있는 상미분방정식의 해법도 학습한다. 미분 방정식에 익숙하지 않은 독자들에게 이 장은 10장의 기초를 제공한다.
10장에서는 동적 시스템의 시뮬레이션을 구축하기 위한 그래픽 인터페이스인 시뮬링크(Simulink)를 소개한다. 시뮬링크의 선호도는 증가하였으며, 산업계에서도 이용이 증가한 것을 볼 수 있다. MathWorks는 드론 및 로봇 제어용 연구원들과 애호가들에게 인기 있는 LEGOⒸ, MINDSTORMSⒸ, ArduinoⒸ 및 Raspberry PiⒸ와 같은 컴퓨터 하드웨어용 Simulink 지원 패키지를 제공한다. 이 패키지는 지원되는 하드웨어에서 독립적으로 실행되는 알고리즘을 개발하고 시뮬레이션하도록 해준다. 여기에는 하드웨어의 센서, 액추에이터 및 통신 인터페이스를 구성하고 액세스하기 위한 Simulink 블록 라이브러리가 포함된다. 알고리즘이 하드웨어에서 실행되는 동안 Simulink 모델에서 실시간으로 매개변수를 조정할 수도 있다. MathWorks는 응용 프로그램을 보고 파일을 다운로드할 수 있는 온라인 활성 사용자 커뮤니티를 지원한다. 또한, 10장에서는 일부 로봇 차량 응용에 관해 설명한다.
11장은 대수식을 다루고 대수와 초월방정식, 미적분, 미분방정식과 행렬대수 문제들을 풀기 위한 심볼릭 방법을 다룬다. 미적분 응용은 미분과 적분, 최적화, 테일러급수, 급수 계산과 극한을 포함한다. 또한, 미분방정식을 풀기 위한 라플라스 변환이 포함되었다. 이 장은 Symbolic Math 툴박스를 필요로 한다.
12장에서는 스마트폰과 같은 모바일 장치를 MathWorks Computing Cloud나 컴퓨터에서 실행되는 MATLAB 세션에 연결할 수 있는 MathWorks의 응용 프로그램인 MATLAB Mobile을 소개한다. 이 장에서는 현장에서의 데이터를 수집하기 위하여 가속도계와 같은 스마트폰 센서를 이용하는 방법을 보여준다. 이 장에는 또한 신입생에게 MATLAB 과정을 가르친 저자의 경험을 바탕으로 한 교과 프로젝트에 대한 몇 가지 제안 사항이 포함되어 있다. 마지막으로 MATLAB 앱 디자이너에 대하여 간략히 소개한다.
부록 A는 이 책에서 소개되는 명령들과 함수들에 대한 가이드이다. 부록 B는 MATLAB으로 애니메이션과 소리를 만드는 것을 소개한다. MATLAB을 배우는 데 꼭 필요하지는 않지만, 이러한 기능들은 학생들의 흥미를 유발하기에 도움이 된다. 부록 C는 참고문헌 목록이다. 부록 D는 출력 형식을 지정하기 위한 함수들을 요약해 놓았다. 선택된 문제들에 대한 해답과 색인을 교재의 마지막에 두었다.
저자

WilliamJ.PalmIII

저자:WilliamJ.Palm,III

RhodeIsland대학의기계공학과의명예교수이다.1966년볼티모어의LoyolaCollege에서학사를받고,1971년에는일리노이주Evanston에있는Northwestern대학의기계공학및우주과학분야에서박사학위를받았다.

44년동안교직에있으면서19과목을가르쳤다.그중하나가신입생을위한MATLAB과목으로이과목의개발을도왔다.그는모델링및시뮬레이션,시스템역학,제어시스템및MATLAB을다루는8권의교재를집필했다.이중에《SystemDynamics,4thed.》(McGraw-Hill,2021)이있다.또한《MechanicalEngineer’sHandbook》3장에제어시스템에대한하나의장을저술했다(M.Kutz,Wiley,2016).또한,J.L.Meriam과L.G.Kraige의《StaticsandDynamics》제5판(Wiley,2002)의특별공헌자였다.

Palm교수의연구및산업경험은제어시스템,로봇공학,진동및시스템모델링분야에있다.그는1985년부터1993년까지RhodeIsland대학교의로봇공학연구소소장이었으며,로봇핸드에대한특허권공동소유자이다.또한,2002년에서2003년까지대리학과장으로근무했다.그의산업경험은제조공정의자동화와수중차량및추적시스템을포함한해군시스템의모델링및시뮬레이션,수중차량엔진시험설비를위한제어시스템설계등이있다.



역자:김우식

세종대학교정보통신공학과교수



역자:조수현

홍익대학교교양과교수

목차


CHAPTER01매트랩(MATLABⓡ)개요
1.1MATLAB대화형세션
1.2툴스트립(Toolstrip)
1.3내장함수,배열및그래프그리기
1.4파일작업
1.5MATLAB도움말시스템
1.6문제해결방법론
1.7요약
주요용어
연습문제

CHAPTER02수치,셀과구조체배열
2.11차원및2차원수치배열
2.2다차원배열
2.3원소-대-원소연산
2.4행렬연산
2.5배열을이용한다항식의연산
2.6셀배열
2.7구조체배열
2.8요약
주요용어
연습문제

CHAPTER03함수
3.1수학적기본함수
3.2사용자정의함수
3.3추가적인함수형태
3.4파일함수
3.5요약
주요용어
연습문제

CHAPTER04MATLAB프로그래밍
4.1프로그램설계와개발
4.2관계연산자와논리변수
4.3논리연산자와함수
4.4조건문
4.5for루프
4.6while루프
4.7switch구조
4.8MATLAB프로그램의디버깅
4.9추가예제와응용
4.10요약
주요용어
연습문제

CHAPTER05심화된그래픽
5.1xy그래프함수
5.2추가적인명령과그래프형태
5.3MATLAB에서의대화형그래프그리기
5.43차원그래프
5.5요약
주요용어
연습문제

CHAPTER06모델구축과회귀분석
6.1함수찾기
6.2회귀분석
6.3기본피팅인터페이스
6.4요약
주요용어
연습문제

CHAPTER07확률,통계및보간
7.1통계와히스토그램
7.2정규분포
7.3랜덤수의생성
7.4보간법
7.5요약
주요용어
연습문제

CHAPTER08선형대수방정식
8.1선형방정식을풀기위한행렬방법
8.2좌측나눗셈방법
8.3과소결정시스템
8.4과잉결정시스템
8.5범용해법프로그램
8.6요약
주요용어
연습문제

CHAPTER09미적분학과미분방정식을위한수치방법
9.1수치적분
9.2수치미분
9.3일차미분방정식
9.4고차미분방정식
9.5선형방정식에대한특별한방법들
9.6요약
주요용어
연습문제

CHAPTER10Simulink
10.1시뮬레이션다이어그램
10.2Simulink소개
10.3선형상태변수모델
10.4부분선형(Piecewise-Linear)모델
10.5전달함수모델
10.6비선형상태변수모델
10.7서브시스템
10.8모델에서불감시간(DeadTime)
10.9비선형자동차서스펜션모델의시뮬레이션
10.10제어시스템과하드웨어인더루프(Hardware-in-theLoop)실험
10.11요약
주요용어
연습문제

CHAPTER11MATLAB과기호(심볼릭)처리
11.1기호표현식과대수
11.2대수와초월방정식
11.3미적분학
11.4미분방정식
11.5라플라스변환
11.6기호선형대수
11.7요약
주요용어
연습문제

CHAPTER12MATLAB프로젝트
12.1MATLABMobile
12.2MATLAB게임프로그래밍프로젝트
12.3MATLAB앱디자이너

부록
부록A명령어와함수가이드
부록BMATLAB에서의애니메이션과소리
부록C참고문헌
부록DMATLAB에서출력형식제어

선택된문제에대한해답
찾아보기

출판사 서평

이전에신호처리와수치해석의전문가들이주로사용하였던MATLABⓡ이최근몇년사이에공학분야에도널리확산되어사용되고있다.많은공과대학에서교과과정의초기에전체적으로또는부분적으로MATLAB에기초한강좌를필요로하고있다.MATLAB은프로그램이가능하고,다른프로그램언어들과같은논리,관계,조건그리고루프(loop)구조를가진다.따라서프로그래밍원리를가르치는데사용될수있다.대부분의공과대학에서MATLAB은교과과정전반에걸쳐주요한계산도구로사용되고있다.신호처리와제어시스템과같은어떤전공분야에서는분석과설계를위한표준소프트웨어패키지이다.

MATLAB의인기는일부그긴역사에기인하기때문에,훌륭하게개발되었으며,잘검증되었다.사람들은그답을신뢰한다.MATLAB의인기는또한사용자인터페이스때문이기도하며,사용자인터페이스는광범위한수치계산과시각화기능을포함한사용하기쉬운대화형(interactive)환경을제공한다.또한MATLAB의큰장점은간결함이다.예를들어,단지세줄의코드로많은선형대수연립방정식을능숙하게풀수있으며,이것은전통적인프로그래밍언어로는불가능하다.MATLAB은또한확장성을가지고있다.현재다양한응용분야에서30개이상의‘툴박스(Toolbox)’로새로운명령과기능을추가하여MATLAB과함께사용할수있다.
MATLAB은여러운영시스템에서도사용할수있다.이러한모든플랫폼사이에호환이가능하므로,사용자들은프로그램과통찰력그리고아이디어를공유할수있다.이책은소프트웨어버전R2021a의MATLAB을기반으로한다.이것은MATLAB버전9.10을포함한다.9장의일부내용에는버전10.10의제어시스템툴박스를기반으로한다.10장은버전10.3의시뮬링크를기반으로하며,11장은버전8.7의SymbolicMath툴박스를기반으로한다.

이교재의목적은MATLAB을소개하고자하는것이다.입문과정에서는자습서나부교재로사용할수있다.교재내용은저자의경험에따라공과대학1학년학생을대상으로한학기2학점강좌에적합하게되어있다.또한교재는후에참고문헌으로활용할수있다.본문의많은표와부록및각장의끝에있는참조시스템들은이러한목적을염두에두고구상되었다.이차적인목표는일반적으로공학도들이문제를연습할때,특히컴퓨터를사용하여문제를풀때,문제해결방법론을소개하고심화교육하는것이다.이방법론은1장에서소개된다.
독자들은대수와삼각함수에대하여어느정도알고있다고가정한다.처음8장까지는미적분에대한지식은필요하지않다.몇몇예제들을이해하기위해서는고등학교화학,물리및기초적인간단한전기회로그리고기초적인정역학과동역학에대한어느정도의지식이요구된다.

교재의구성
본교재는이전교재를업데이트하여새로운기능들,새로운함수들,구문과함수에서의변경사항들을포함하였고,검토자와다른독자들로부터의많은제안을반영하였다.많은예제와숙제문제도추가하였다.
교재는12개의장으로구성된다.처음5개의장은MATLAB의기본적인주제로구성되어있다.나머지7개의장은각각서로독립적이며,MATLAB의더욱심화된응용,제어시스템툴박스,Simulink,SymbolicMath툴박스를다룬다.

1장에서는윈도와메뉴구조를포함한MATLAB의특징들에대해개략적으로설명한다.또한문제해결방법론을소개한다.
2장에서는MATLAB에서기본적인데이터요소인배열의개념에대해소개하고,기초적인수학연산을위한수치배열,셀배열,구조체배열의사용법을소개한다.
3장에서는함수와파일의사용에대해다룬다.MATLAB은광대한수의내장된수학함수들을갖고있으며,사용자는자기자신의함수들을정의하고재사용을위해파일로저장할수있다.
4장은MATLAB프로그래밍을다루며,관계및논리연산자,조건문,for와while루프,그리고switch구조를포함한다.
5장은2차원과3차원그래프를다룬다.먼저전문적이고유용한그래프의표준을정립한다.저자의경험에따르면,처음경험하는학생들은이러한표준을잘모르므로강조하여설명한다.그러고나서이장에서는다른형태의그래프를그리고외관을제어하는MATLAB명령을다룬다.
6장은데이터의그래프를이용하여데이터의수학적인식을구하는모델링을구축하는데유용한도구인함수찾기를다룬다.이것은그래프의공통적인응용으로이주제를위하여한절을할당하였다.이장은또한모델링영역의일부로써다항식과다수의선형회귀분석에대해다룬다.
7장에서는기초적인통계와확률을복습하고히스토그램을생성하며,정규분포계산과랜덤숫자시뮬레이션을생성하기위하여MATLAB을사용하는방법을설명한다.이장은선형과3차스플라인(cubic-spline)보간법으로끝맺는다.

8장은선형대수방정식의해법을다루며,이들은모든공학분야의응용에서발생한다.이범위에는컴퓨터방법을올바르게사용하는데필요한용어와몇가지중요한개념을설정한다.그다음으로이장에서는선형방정식의과소결정(Underdetermined)시스템과과잉결정(Overdetermined)시스템의해를구하기위하여MATLAB을어떻게사용하는지를보인다.
9장은미적분학과미분방정식에대한수치적방법을다룬다.수치적분과미분방법을다룬다.ControlSystem툴박스에있는선형시스템해법뿐만아니라,MATLAB주프로그램에있는상미분방정식의해법도학습한다.미분방정식에익숙하지않은독자들에게이장은10장의기초를제공한다.
10장에서는동적시스템의시뮬레이션을구축하기위한그래픽인터페이스인시뮬링크(Simulink)를소개한다.시뮬링크의선호도는증가하였으며,산업계에서도이용이증가한것을볼수있다.MathWorks는드론및로봇제어용연구원들과애호가들에게인기있는LEGOⓒ,MINDSTORMSⓒ,Arduinoⓒ및RaspberryPiⓒ와같은컴퓨터하드웨어용Simulink지원패키지를제공한다.이패키지는지원되는하드웨어에서독립적으로실행되는알고리즘을개발하고시뮬레이션하도록해준다.여기에는하드웨어의센서,액추에이터및통신인터페이스를구성하고액세스하기위한Simulink블록라이브러리가포함된다.알고리즘이하드웨어에서실행되는동안Simulink모델에서실시간으로매개변수를조정할수도있다.MathWorks는응용프로그램을보고파일을다운로드할수있는온라인활성사용자커뮤니티를지원한다.또한,10장에서는일부로봇차량응용에관해설명한다.
11장은대수식을다루고대수와초월방정식,미적분,미분방정식과행렬대수문제들을풀기위한심볼릭방법을다룬다.미적분응용은미분과적분,최적화,테일러급수,급수계산과극한을포함한다.또한,미분방정식을풀기위한라플라스변환이포함되었다.이장은SymbolicMath툴박스를필요로한다.

12장에서는스마트폰과같은모바일장치를MathWorksComputingCloud나컴퓨터에서실행되는MATLAB세션에연결할수있는MathWorks의응용프로그램인MATLABMobile을소개한다.이장에서는현장에서의데이터를수집하기위하여가속도계와같은스마트폰센서를이용하는방법을보여준다.이장에는또한신입생에게MATLAB과정을가르친저자의경험을바탕으로한교과프로젝트에대한몇가지제안사항이포함되어있다.마지막으로MATLAB앱디자이너에대하여간략히소개한다.
부록A는이책에서소개되는명령들과함수들에대한가이드이다.부록B는MATLAB으로애니메이션과소리를만드는것을소개한다.MATLAB을배우는데꼭필요하지는않지만,이러한기능들은학생들의흥미를유발하기에도움이된다.부록C는참고문헌목록이다.부록D는출력형식을지정하기위한함수들을요약해놓았다.선택된문제들에대한해답과색인을교재의마지막에두었다.