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는 출력 형식을 지정하기 위한 함수들을 요약해 놓았다. 선택된 문제들에 대한 해답과 색인을 교재의 마지막에 두었다.
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는 출력 형식을 지정하기 위한 함수들을 요약해 놓았다. 선택된 문제들에 대한 해답과 색인을 교재의 마지막에 두었다.
공학도를 위한 매트랩 (제5판)
$48.97