Engineering Computation with MATLAB, 3/e (IE-Paperback)

David M Smith

  • 出版商: Pearson FT Press
  • 出版日期: 2012-05-01
  • 定價: $1,300
  • 售價: 9.5$1,235
  • 語言: 英文
  • 頁數: 464
  • ISBN: 0273769138
  • ISBN-13: 9780273769132
  • 相關分類: Matlab
  • 立即出貨 (庫存 < 3)

商品描述

Description

 

This textbook is ideal for MATLAB/Introduction to Programming courses in both Engineering and Computer Science departments.

 

Engineering Computation with MATLAB introduces the power of computing to engineering students who have no programming experience. The book places the fundamental tenets of computer programming into the context of MATLAB, employing hands-on exercises, examples from the engineering industry, and a variety of core tools to increase programming proficiency and capability. With this knowledge, students are prepared to adapt learned concepts to other programming languages.


 

 

Features

 

  • Engineering Examples are interspersed in the chapters, providing robust examples that extend chapter concepts into practice, such as the fundamental principles used to implement vehicle navigation systems.
  • Do It Yourself Exercise boxes allow readers to master concepts by trying what they just learned. Exercises follow each new topic for immediate reinforcement.
  • Style Points clearly advise readers about writing quality code that is easy to understand, debug, and reuse.
  • Hints enrich understanding of a topic by providing a little extra “aside” in places where readers may benefit from it.
  • Common Pitfall boxes alert readers to common mistakes that programmers make, and clearly explain how to avoid them.
  • End-of-chapter material—including a chapter summary, true-or-false question and answers, fill-in-the-blanks and answers, and a variety of large-scale programming projects—helps readers assess their understanding.
  • A freely accessible Companion Website, featuring:
    • Two additional appendices: Web reference materials and solutions to selected programming projects
    • Source code
    • Bonus chapters


 

 

New to this Edition

- Revised engineering examples integrate concepts throughout the book
- A new emphasis on problem solving skills
- Updated examples consistent with Matlab R2011
- Updated chapter on graphs including an approximate technique for path finding
- New on-line support pages

商品描述(中文翻譯)

描述

 

這本教科書非常適合工程學和計算機科學系的MATLAB/程式設計入門課程。

 

使用MATLAB進行工程計算將計算的力量介紹給沒有程式設計經驗的工程學生。本書將計算機編程的基本原則放入MATLAB的背景中,通過實踐練習、工程行業的例子和各種核心工具來提高編程能力和技巧。有了這些知識,學生就能夠將所學概念應用到其他編程語言中。



 

 

特點

 



  • 工程實例穿插在章節中,提供實際的例子,將章節概念擴展到實踐中,例如實現車輛導航系統所使用的基本原則。


  • 自主練習框讓讀者通過嘗試剛學到的內容來掌握概念。每個新主題後都有練習,以便立即加強。


  • 風格要點清楚地指導讀者如何編寫易於理解、調試和重用的高質量代碼。


  • 提示通過在讀者可能受益的地方提供一些額外的“旁白”來豐富對主題的理解。


  • 常見陷阱框提醒讀者常見的編程錯誤,並清楚解釋如何避免它們。


  • 章節結束材料包括章節摘要、判斷正確或錯誤的問題和答案、填空和答案,以及各種大型編程項目,幫助讀者評估自己的理解程度。

  • 一個免費訪問的伴侶網站,包括:

    • 兩個額外的附錄:網絡參考資料和選定編程項目的解答

    • 源代碼

    • 額外章節





 

 

本版新增內容

- 修訂的工程實例貫穿整本書

- 新增對解決問題技巧的強調

- 更新的例子與Matlab R2011一致

- 更新的圖表章節,包括一種近似的路徑尋找技巧

- 新的在線支援頁面

目錄大綱

Table of Contents

Table of Contents
1.1 Background
1.2 History of Computer Architectures
1.2.1 Babbage’s Difference Engine
1.2.2 Colossus
1.2.3 The von Neumann Architecture
1.3 Computing Systems Today
1.3.1 Computer Hardware
1.3.2 Computer Memory
1.3.3 Computer Software
1.3.4 Running a Computer Program
1.4 Running an Interpreted Program
1.5 Problem Solving
2.1 Programming Language Background
2.1.1 Abstraction
2.1.2 Algorithms
2.1.3 Programming Paradigms
2.2 Basic Data Manipulation
2.2.1 Starting and Stopping Matlab
2.2.2 Assigning Values to Variables
2.2.3 Data Typing
2.2.4 Classes and Objects
2.3 the Matlab User Interface
2.3.1 the Interactions Window
2.3.2 the Command History
2.3.3 the Variables Window
2.3.4 the Files Window
2.3.5 Editor Windows
2.3.6 Figure Windows
2.4 Scripts
2.4.1 Text Files
2.4.2 Creating Scripts
2.4.3 The Current Directory
2.4.4 Running Scripts
2.4.5 Punctuating Scripts
2.4.6 Debugging Scripts
2.5 Engineering Example— Spacecraft Launch
3.1 Concept: Using Built-in Functions
3.2 Concept: Data Collections
3.2.1 Data Abstraction
3.2.2 Homogeneous Collection
3.3 Vectors
3.3.1 Creating a Vector
3.3.2 Size of a Vector
3.3.3 Indexing a Vector
3.3.4 Shortening a Vector
3.3.5 Operating on Vectors
3.4 Engineering Example—Forces and Moments
3.5 Arrays
3.5.1 Properties of an Array
3.5.2 Creating an Array
3.5.3 Accessing Elements of an Array
3.5.4 Removing Elements of an Array
3.5.5 Operating on Arrays
3.6 Engineering Example—Computing Soil Volume
4.1 Concept: Code Blocks
4.2 Conditional Execution in General
4.3 if Statements
4.3.1 General Template
4.3.2 Matlab Implementation
4.3.3 Important Ideas
4.4 switch Statements
4.4.1 General Template
4.4.2 Matlab Implementation
4.5 Iteration in General
4.6 for Loops
4.6.1 General for Loop Template
4.6.2 Matlab Implementation
4.6.3 Indexing Implementation
4.6.4 Breaking a for Loop
4.7 while Loops
4.7.1 General while Template
4.7.2 Matlab while Loop Implementation
4.7.3 Loop-and-a-Half Implementation
4.7.4 Breaking a while Loop
4.8 Engineering Example—Computing Liquid Levels
5.1 Concepts: Abstraction and Encapsulation
5.2 Black Box View of a Function
5.3 Matlab Implementation
5.3.1 General Template
5.3.2 Function Definition
5.3.3 Storing and Using Functions
5.3.4 Calling Functions
5.3.5 Returning Multiple Results
5.3.6 Auxiliary Local Functions
5.3.7 Encapsulation in Matlab Functions
5.3.8 Global Variables
5.4 Engineering Example—Measuring a Solid Object
6.1 Character String Concepts: Mapping and Casting
6.2 Matlab Implementation
6.2.1 Slicing and Concatenating Strings
6.2.2 Arithmetic and Logical Operations
6.2.3 Useful Functions
6.3 Format Conversion Functions
6.3.1 Conversion from Numbers to Strings
6.3.2 Conversion from Strings to Numbers
6.4 Character String Operations
6.4.1 Simple Data Output: The disp(...) Function
6.4.2 Complex Output
6.4.3 Comparing Strings
6.5 Arrays of Strings
6.6 Engineering Example— Encryption
7.1 Concept: Collecting Dissimilar Objects
7.2 Cell Arrays
7.2.1 Creating Cell Arrays
7.2.2 Accessing Cell Arrays
7.2.3 Using Cell Arrays
7.2.4 Processing Cell Arrays
7.3 Structures
7.3.1 Constructing and Accessing One Structure
7.3.2 Constructor Functions
7.4 Structure Arrays
7.4.1 Constructing Cell Arrays
7.4.2 Accessing Structure Elements
7.4.3 Manipulating Structures
7.5 Engineering Example—Assembling a Structure
8.1 Concept: Serial Input and Output (I/O)
8.2 Workspace I/O
8.3 High-level I/O Functions
8.3.1 Exploration
8.3.2 Spreadsheets
8.3.3 Delimited Text Files
8.4 Low-level File I/O
8.4.1 Opening and Closing Files
8.4.2 Reading Text Files
8.4.3 Examples of Reading Text Files
8.4.4 Writing Text Files
8.5 Engineering Example— Spreadsheet Data
9.1 Concept:The Activation Stack
9.1.1 A Stack
9.1.2 Activation Stack
9.1.3 Function Instances
9.2 Recursion Defined
9.3 Implementing a Recursive Function
9.4 Exceptions
9.4.1 Historical Approaches
9.4.2 Generic Exception Implementation
9.4.3 Implementation
9.5 Wrapper Functions
9.6 Examples of Recursion
9.6.1 Detecting Palindromes
9.6.2 Fibonacci Series
9.6.3 Zeros of a Function
9.7 Engineering Example—Robot Arm Motion
10.1 Solving Simple Problems
10.2 Assembling Solution Steps
10.3 Summary of Operations
10.3.1 Basic Arithmetic Operations
10.3.2 Inserting into a Collection
10.3.3 Traversing a Collection
10.3.4 Building a Collection
10.3.5 Mapping a Collection
10.3.6 Filtering a Collection
10.3.7 Summarizing a Collection
10.3.8 Searching a Collection
10.3.9 Sorting a Collection
10.4 Solving Larger Problems
10.5 Engineering Example— Processing Geopolitical Data
11.1 Plotting in General
11.1.1 A Figure—The Plot Container
11.1.2 Simple Functions for Enhancing Plots
11.1.3 Multiple Plots on One Figure—Subplots
11.1.4 Manually Editing Plots
11.2 2-D Plotting
11.2.1 Simple Plots
11.2.2 Plot Options
11.2.3 Parametric Plots
11.2.4 Other 2-D Plot Capabilities
11.3 3-D Plotting
11.3.1 Linear 3-D Plots
11.3.2 Linear Parametric 3-D Plots
11.3.3 Other 3-D Plot Capabilities
11.4 Surface Plots
11.4.1 Basic Capabilities
11.4.2 Simple Exercises
11.4.3 3-D Parametric Surfaces
11.4.4 Bodies of Rotation
11.4.5 Other 3-D Surface Plot Capabilities
11.4.6 Assembling Compound Surfaces
11.5 Manipulating Plotted Data
11.6 Engineering Example—Visualizing Geographic Data
11.6.1 Analyzing the Data
11.6.2 Displaying the Data
12.1 Concept: Behavioral Abstraction
12.2 Matrix Operations
12.2.1 Matrix Multiplication
12.2.2 Matrix Division
12.2.3 Matrix Exponentiation
12.3 Implementation
12.3.1 Matrix Multiplication
12.3.2 Matrix Division
12.4 Rotating Coordinates
12.4.1 2-D Rotation
12.4.2 3-D Rotation
12.5 Solving Simultaneous Linear Equations
12.5.1 Intersecting Lines
12.5.2 Curve Fitting
12.6 Engineering Examples
12.6.1 Ceramic Composition
12.6.2 Analyzing an Electrical Circuit
13.1 Nature of an Image
13.2 Image Types
13.2.1 True Color Images
13.2.2 Gray Scale Images
13.2.3 Color Mapped Images
13.2.4 Preferred Image Format
13.3 Reading, Displaying, and Writing Images
13.4 Operating on Images
13.4.1 Stretching or Shrinking Images
13.4.2 Color Masking
13.4.3 Creating a Kaleidoscope
13.4.4 Images on a Surface
13.5 Engineering Example—Detecting Edges
14.1 The Physics of Sound
14.2 Recording and Playback
14.3 Implementation
14.4 Time Domain Operations
14.4.1 Slicing and Concatenating Sound
14.4.2 Musical Background
14.4.3 Changing Sound Frequency
14.5 The Fast Fourier Transform
14.5.1 Background
14.5.2 Implementation
14.5.3 Simple Spectral Analysis
14.6 Frequency Domain Operations
14.7 Engineering Example—Music Synthesizer
15.1 Interpolation
15.1.1 Linear Interpolation
15.1.2 Cubic Spline Interpolation
15.1.3 Extrapolation
15.2 Curve Fitting
15.2.1 Linear Regression
15.2.2 Polynomial Regression
15.2.3 Practical Application
15.3 Numerical Integration
15.3.1 Determination of the Complete Integral
15.3.2 Continuous Integration Problems
15.4 Numerical Differentiation
15.5 Analytical Operations
15.6 Implementation
15.7 Engineering Example—Shaping Synthesizer Notes
16.1 Measuring Algorithm Cost
16.1.1 Specific Big O Examples
16.1.2 Analyzing Complex Algorithms
16.2 Algorithms for Sorting Data
16.2.1 Insertion Sort
16.2.2 Bubble Sort
16.2.3 Quick Sort
16.2.4 Quick Sort in Place
16s of Sorting Algorithms
16.4.1 Using sort(...)
16.4.2 Insertion Sort
16.4.3 Bubble Sort
16.4.4 Quick Sort
16.4.5 Merge Sort
16.5 Engineering Example—A Selection of Countries
17.1 Queues
17.1.1 The Nature of a Queue
17.1.2 Implementing Queues
17.1.3 Priority Queues
17.1.4 Testing Queues
17.2 Graphs
17.2.1 Graph Examples
17.2.2 Processing Graphs
17.2.3 Building Graphs
17.2.4 Traversing Graphs
17.3 Minimum Spanning Trees
17.4 Finding Paths
17.4.1 Path Search Algorithms
17.4.2 Breadth-First Search (BFS)
17.4.3 Dijkstra’s Algorithm
17.4.4 A* Algorithm
17.4.5 Testing Graph Search Algorithms
17.5 Engineering Applications
Appendix A
Appendix B
Appendix C
Appendix D

目錄大綱(中文翻譯)

目錄

目錄

1.1 背景

1.2 電腦架構的歷史

1.2.1 巴比奇的差分機

1.2.2 科羅薩斯

1.2.3 冯·诺伊曼架构

1.3 現代計算系統

1.3.1 電腦硬體

1.3.2 電腦記憶體

1.3.3 電腦軟體

1.3.4 執行電腦程式

1.4 執行解譯程式

1.5 解決問題

2.1 程式語言背景

2.1.1 抽象化

2.1.2 演算法

2.1.3 程式設計範式

2.2 基本資料操作

2.2.1 啟動和停止Matlab

2.2.2 給變數賦值

2.2.3 資料類型

2.2.4 類別和物件

2.3 Matlab使用者介面

2.3.1 互動視窗

2.3.2 命令歷史

2.3.3 變數視窗

2.3.4 檔案視窗

2.3.5 編輯視窗

2.3.6 圖形視窗

2.4 腳本

2.4.1 文字檔案

2.4.2 建立腳本

2.4.3 目前目錄

2.4.4 執行腳本

2.4.5 標點腳本

2.4.6 偵錯腳本

2.5 工程範例-太空船發射

3.1 概念:使用內建函數

3.2 概念:資料集合

3.2.1 資料抽象化

3.2.2 同質集合

3.3 向量

3.3.1 建立向量

3.3.2 向量大小

3.3.3 索引向量

3.3.4 縮短向量

3.3.5 向量運算

3.4 工程範例-力和力矩

3.5 陣列

3.5.1 陣列屬性

3.5.2 建立陣列

3.5.3 存取陣列元素

3.5.4 刪除陣列元素

3.5.5 陣列運算

3.6 工程範例-計算土壤體積

4.1 概念:程式碼區塊

4.2 一般的條件執行

4.3 if敘述

4.3.1 一般範本

4.3.2 Matlab實作

4.3.3 重要觀念

4.4 switch敘述

4.4.1 一般範本

4.4.2 Matlab實作

4.5 迴圈

4.6 for迴圈

4.6.1 一般for迴圈範本

4.6.2 Matlab實作

4.6.3 索引實作

4.6.4 中斷for迴圈

4.7 while迴圈

4.7.1 一般while範本

4.7.2 Matlab while迴圈實作

4.7.3 迴圈半次實作

4.7.4 中斷while迴圈

4.8 工程範例-計算液體水位

5.1 概念:抽象化和封裝

5.2 函數的黑盒觀點

5.3 Matlab實作

5.3.1 一般範本

5.3.2 函數定義

5.3.3 儲存和使用函數

5.3.4 呼叫函數

5.3.5 回傳多個結果

5.3.6 輔助區域函數

5.3.7 Matlab函數中的封裝

5.3.8 全域變數

5.4 工程範例-測量實體物體

6.1 字串概念:映射和轉換

6.2 Matlab實作

6.2.1 切片和串接字串

6.2.2 算術和邏輯運算

6.2.3 有用的函數

6.3 格式轉換函數

6.3.1 從數字轉換為字串

6.3.2 從字串轉換為數字

6.4 字串操作

6.4.1 簡單資料輸出:disp(...) 函數

6.4.2 複雜輸出

6.4.3 比較字串

6.5 字串陣列

6.6 工程範例-加密

7.1 概念:收集不同的物件

7.2 儲存格陣列

7.2.1 建立儲存格陣列

7.2.2 存取儲存格陣列

7.2.3 使用儲存格陣列

7.2.4 處理儲存格陣列

7.3 結構

7.3.1 建構和存取單一結構

7.3.2 建構函數