精通MATLAB(升級版)

精通MATLAB(升級版)

《精通MATLAB(升級版)》是在2011年出版的圖書,作者是王正林、劉明。

圖書信息

書名:精通MATLAB(升級版)  作者:王正林 劉 明 編著

ISBN:978-7-121-12294-1

出版日期:2011年1月

定價:69.00元

宣傳語

全面、重點地介紹MATLAB R2010a的新功能與特點。

內 容 簡 介

本書的第一版——《精通MATLAB 7》由於內容全面、講解細緻、實例豐富而深受廣大讀者的喜愛,上市四年以來長期占據各大MATLAB類圖書排行榜的前列,取得了數萬冊的銷售佳績。結合MATLAB軟體的升級,並根據廣大讀者的反饋,作者對第一版進行了升級、調整和最佳化,並融入了這些年工作中新的MATLAB套用體會。

本書深入淺出,緊密結合實例,對MATLAB的使用進行了全面且詳盡的闡述,並通過大量的實例講述如何實現MATLAB 7.x的基本操作和實際使用。全書圖文並茂,突出套用,並配有大量的程式實例。全書共分37章,分為基礎篇和實戰篇。基礎篇為前面的34章,主要講述MATLAB的基本使用;實戰篇為後面的3章,主要講述MATLAB綜合套用的實例,分別為MATLAB高等數學計算實例、MATLAB圖形繪製實例、MATLAB機率統計實例。

本書最大的特色在於用實例說話,教您快速上手,每一例子都經過精挑細選,具有很強的針對性,力求讓讀者通過運行實例而掌握基本參數及製作技巧,快速有效地學習到MATLAB的知識。

本書適合MATLAB的初、中級讀者,可作為高等學校數學、計算機、電子工程、信息工程及相關專業師生的MATLAB使用參考手冊,也可作為廣大工程套用人員和開發人員不可多得的參考資料。

再 版 前 言

本書第1版本已被多所院校作為數學、計算機類課程的教材和教輔參考書,而且由於內容全面、講解細緻、實例豐富而深受廣大讀者的喜愛,上市4年以來長期占據各大MATLAB類圖書排行榜的前列,取得了數萬冊的銷售佳績。

根據讀者的需求和軟體的升級,我們結合MATLAB軟體的最新版本,對全書的結構進行了完善與最佳化,增加了MATLAB基礎部分的內容,更加適合教學和自學。

新版亮點

在第1版的基礎上,第2版更加突出了兩大亮點:

1.緊扣新版本軟體的特色

本書根據MATLAB 的2010a版本軟體而寫,新軟體的設計更加人性化,使用起來更簡潔方便。

MATLAB軟體的發展趨勢,以前可以說是將用戶從繁雜的編程中解放出來,代之以函式腳本操作,而現在及未來的趨勢是將函式工具化,使函式不再是負擔。在修訂版中,重點新增了這些內容。比如,最佳化工具箱提供了強大的GUI最佳化工具、通過簡單的幾步操作,便可完成。工作空間的數據直接繪圖等功能,用戶都不需要敲入繪圖命令,通過滑鼠的點擊,便可進行繪圖。

2.全面覆蓋高校的數學課程

MATLAB可以說是高等教育所必備的工具軟體,是大學生便捷的“計算器”,修訂版中,新增了“第 37章 MATLAB機率統計實例”,加上“第 35章 MATLAB高等數學計算實例”,可以說覆蓋了大學的全部基礎數學課程。

新版導讀

全書分37章進行展開,分為基礎篇和實戰篇。基礎篇為前面的34章,主要講述MATLAB的基本使用;實戰篇為後面的3章,主要講述MATLAB綜合套用的實例。

全書內容概要如下:

 第1章“基礎入門”,介紹MATLAB發展歷程、系統結構、工具箱、MATLAB啟動和退出,以及MATLAB基本特色。

本章重點講述了MATLAB的基本特點,這些將在後面章節中得到體現。

 第2章“MATLAB桌面”,介紹MATLAB的主選單及功能、命令視窗、工作空間、檔案管理和幫助使用。

MATLAB 7版本的互動式桌面更便於用戶使用,熟悉和掌握這些互動式桌面的基本功能和基本特色,用戶可以熟練地使用MATLAB完成相應的工作。

 第3章“數組及其操作”,以及在此基礎上展開的第4章“多維數組及其操作”,介紹了MATLAB中最核心的數據結構——數組及其各種基本操作。

數組是MATLAB中各種變數存儲和運算的通用數據結構,理解MATLAB中數組的結構並對其進行各種基本操作,是學習MATLAB套用和編程的第一步,讀者應該熟練掌握這些操作。

 第5~7章分別講述了MATLAB中的基本數據類型,包括數值、結構體、元胞數組和字元串,第8章講述了關係運算和邏輯運算,第9章講述了程式控制流,這些內容是MATLAB程式語言的語法基礎。

理解各種數據類型、運算和程式控制流,是套用MATLAB語言進行編程,提高使用效率的前提。

 第10~12章詳細闡述了MATLAB中M檔案編程的內容,主要包括MATLAB的函式,M檔案調試和管理等。

這部分重點闡述了MATLAB中M檔案編程的種類和基本流程,是通過實際的編程實踐對語法基礎部分內容的綜合運用。

 第13章介紹了MATLAB中另一種比較常用的數據結構——時間,以及該數據結構在程式中的套用。

 第14~22章重點講述了在各種具體套用領域中的MATLAB實現,包括:矩陣代數、數據分析、數據插值、多項式、三次樣條、傅立葉分析、最最佳化計算、微積分、常微分方程。

這部分屬於MATLAB的數值計算,也是MATLAB最精華的部分,這些章節簡要回顧了數學理論,通過大量的套用實例講述MATLAB套用。

 第23章講述二維繪圖,第24、25章講述三維繪圖及其顏色、光影的修飾。

這部分內容以MATLAB中的各種基本繪圖指令和互動式環境為核心,目的在於使讀者了解MATLAB中各種基本圖形可視化方法的實現,並且初步介紹了MATLAB中圖形的組織元素。

 第26章“圖像、聲音和視頻”,介紹了MATLAB中操作各種媒體檔案的方法,對MATLAB中的圖像相關操作及概念進行了深入的講解。

 第27章“圖形的列印和導出”,講述了MATLAB中保存繪圖結果的各種方法,重點介紹了其中各種設定選項的意義和設定方法。

 第28章“句柄圖形對象”,講述MATLAB中各種圖形對象的組織形式,常用圖形對象的基本屬性和操作方法等。

 第29章介紹了MATLAB中圖形用戶界面(GUI)編程的內容。

GUIDE這一互動式圖形界面為用戶開發MATLAB的GUI程式提供了十分便利的開發環境。

 第30章講述了MATLAB類和面向對象編程,重點講述了MATLAB中類的基本概念以及類的設計。

MATLAB的面向對象編程使得用戶可以定義新的數據類型,並可方便地對其進行一系列的操作且不需了解其完成的細節,是擴展MATLAB功能的一個重要方面。

 第31章講述了MATLAB與Excel、Word的接口,握這些方法是擴展office軟體的計算能力,熟練套用MATLAB接口的基礎。

 第32章講述了擴展MATLAB和Java,MATLAB與Java語言的接口。

Java是一種非常強大的語言,而MATLAB具有強大的計算功能,把這兩種語言結合起來,能大大提高效率。

 第33章講述了MATLAB擴展編程,與其他高級開發語言實現擴展編程,充分發揮MATLAB的繪圖、計算優勢。

 第34章講述了Simulink互動式仿真集成環境,介紹了Simulink的基本模組、基本功能、以及如何使用Simulink進行仿真等內容。

熟悉Simulink眾多的功能強大模組,以及熟悉模組的基本操作是使用Simulink進行仿真和設計的基礎。

 第35章講述了MATLAB高等數學計算實例,通過大量的高等數學套用實例介紹MATLAB函式的使用。

熟練掌握MATLAB這一工具在數學計算的套用,可以從繁雜的計算中解脫出來,大大提高效率。

 第36章講述了MATLAB圖形繪製實例,重點講述了二維圖形和三維圖形的繪製。

MATLAB中豐富的圖形函式,是實現數據可視化的重要組成部分,使用MATLAB圖形繪製功能,用戶能夠方便直觀地查看和分析個人數據。

 第37章講述了MATLAB機率統計實例,通過大量在機率統計計算中的套用實例,包括常用統計量的計算、特殊分布的相關計算、參數估計、假設檢驗、方差分析和回歸分析。掌握這些方法是熟練套用MATLAB進行機率統計計算的基礎。

本書主要由王正林、劉明編寫。其他參與編寫的人員有肖靜、劉玉芳、肖紹英、夏路生、鄧祈、王權、鍾頌飛、王偉欣、朱桂蓮、朱艷、胡玉、彭斌武、劉擁軍等。在此對所有參與編寫的人表示感謝!

再次對博文視點公司的袁金敏老師、許艷老師、朱沭紅老師表示衷心的感謝!對關心、支持我們的讀者表示感謝!

由於時間倉促,作者水平和經驗有限,書中錯漏之處在所難免,敬請讀者指正。

作 者

2010年國慶於北京

目 錄

基礎篇

第 1章 基礎入門 2

1.1 MATLAB發展歷程 2

1.2 MATLAB系統結構 3

1.3 MATLAB 7工具箱 4

1.4 MATLAB啟動和退出 5

1.5 MATLAB基本特色 6

1.5.1 常量與變數 6

1.5.2 MATLAB基本運算 8

1.5.3 MATLAB基本函式 9

1.5.4 向量 10

1.6 小結 11

第 2章 MATLAB桌面 12

2.1 MATLAB主選單及功能 12

2.2 MATLAB命令視窗 17

2.3 MATLAB工作空間。 19

2.4 M檔案編輯/調試器 21

2.5 圖形視窗 22

2.6 MATLAB檔案管理 24

2.7 MATLAB幫助使用 24

2.7.1 直接使用help獲得指令使用說明 25

2.7.2 直接使用help進行分類搜尋 25

2.7.3 直接使用help獲得具體子類指令說明 26

2.7.4 使用lookfor指令 26

2.8 小結 26

第 3章 數組及其操作 27

3.1 MATLAB中的數組 27

3.2 數組的創建 28

3.2.1 創建空數組 28

3.2.2 創建一維數組 28

3.2.3 創建二維數組 30

3.3 數組屬性 30

3.3.1 數組結構 30

3.3.2 數組大小 31

3.3.3 數組維度 32

3.3.4 數組數據類型 33

3.3.5 數組的記憶體占用 34

3.4 創建特殊數組 34

3.4.1 0-1數組 34

3.4.2 對角數組 35

3.4.3 隨機數組 36

3.4.4 魔方數組 37

3.5 數組操作 37

3.5.1 數組的保存和裝載 37

3.5.2 數組索引和定址 38

3.5.3 數組的擴展和裁剪 41

3.5.4 數組形狀的改變 48

3.5.5 數組運算 51

3.5.6 數組查找 55

3.5.7 數組排序 56

3.6 小結 57

第 4章 多維數組及其操作 58

4.1 多維數組 58

4.1.1 多維數組的創建 58

4.1.2 多維數組的屬性 61

4.2 多維數組的操作 61

4.2.1 多維數組的索引 61

4.2.2 多維數組的維度操作 62

4.2.3 多維數組參與數學計算 64

第 5章 數據類型概述和數值類型 66

5.1 MATLAB數據類型概述 66

5.2 MATLAB中的數值類型 67

5.2.1 整數類型 67

5.2.2 浮點數類型 70

5.2.3 複數 72

5.2.4 無窮量(Inf)和非數

值量(NaN) 73

5.3 數值類型的顯示格式 74

5.4 MATLAB中確定數值類型的函式 75

5.5 小結 76

第 6章 結構體和元胞數組 77

6.1 結構體 77

6.1.1 結構體的創建 78

6.1.2 獲取結構體內部數據 80

6.1.3 結構體數組操作函式 82

6.1.4 結構體嵌套 83

6.1.5 動態欄位 84

6.1.6 結構體函式 84

6.2 元胞數組 85

6.2.1 元胞數組的創建 86

6.2.2 元胞數組的顯示 87

6.2.3 元胞數組的操作 88

6.2.4 嵌套元胞數組 90

6.2.5 元胞數組函式 92

6.3 小結 92

第 7章 字元串 93

7.1 創建字元串 93

7.1.1 單行字元串創建 93

7.1.2 多行字元串創建 94

7.2 字元串操作 95

7.2.1 字元串比較 95

7.2.2 字元串的替換和查找 97

7.2.3 其他操作 99

7.3 字元串的元胞數組 101

7.4 使用正則表達式搜尋 103

7.5 字元數組和數值數組間的相互轉換 104

7.6 小結 106

第 8章 關係運算和邏輯運算 107

8.1 邏輯類型的數據 107

8.2 關係運算 108

8.3 邏輯運算 109

8.3.1 逐個元素的邏輯

運算 109

8.3.2 捷徑邏輯運算 111

8.3.3 逐位邏輯運算 112

8.4 邏輯函式和測試函式 113

8.5 運算優先權 115

8.6 小結 116

第 9章 程式控制流 117

9.1 分支控制語句 117

9.1.1 if、else和elseif 117

9.1.2 switch、case和otherwise 119

9.2 循環控制語句 120

9.2.1 for循環 120

9.2.2 while循環 122

9.2.3 continue語句 122

9.2.4 break語句 123

9.2.5 數組結構和循環的效率比較 124

9.3 錯誤控制的try-catch結構 124

9.4 程式終止的return語句 125

9.5 小結 126

第 10章 函式 127

10.1 M檔案和MATLAB編程概述 127

10.1.1 M檔案概述 127

10.1.2 MATLAB編程概述 128

10.2 M檔案結構和實例 129

10.2.1 M檔案的一般結構 129

10.2.2 腳本M檔案實例 130

10.2.3 函式M檔案 132

10.3 函式類型 133

10.3.1 匿名函式 134

10.3.2 M檔案主函式 135

10.3.3 嵌套函式 135

10.3.4 子函式 136

10.3.5 私有函式 136

10.3.6 重載函式 137

10.4 參數傳遞 137

10.4.1 MATLAB參數傳遞概述 137

10.4.2 輸入和輸出參數的數目 137

10.4.3 可變數目的參數傳遞 139

10.4.4 返回被修改的輸入參數 140

10.4.5 全局變數 141

10.5 函式句柄 142

10.5.1 函式句柄的創建和調用 142

10.5.2 處理函式句柄的函式 143

10.6 小結 143

第 11章 M檔案調試和剖析 144

11.1 M檔案調試工具 144

11.2 M檔案分析工具 146

11.2.1 Code Analyzer分析工具 147

11.2.2 Profiler分析工具 148

11.3 小結 149

第 12章 資料夾管理和檔案I/O 150

12.1 當前資料夾和資料夾管理 150

12.1.1 當前資料夾工具條 150

12.1.2 當前資料夾面板 151

12.1.3 命令視窗資料夾操作命令 152

12.2 MATLAB搜尋路徑 152

12.2.1 MATLAB檔案運行搜尋過程 152

12.2.2 搜尋路徑設定 153

12.2.3 搜尋路徑設定命令 154

12.3 檔案管理 154

12.3.1 文本數據 154

12.3.2 圖形、音頻和視頻數據 155

12.3.3 電子表格數據 155

12.3.4 科學標準格式數據 155

12.3.5 數據導入嚮導 156

12.3.6 網際網路檔案處理 156

12.3.7 低級檔案I/O 157

12.4 小結 158

第 13章 MATLAB中的時間 159

13.1 日期和時間 159

13.1.1 日期時間的3種表示格式 159

13.1.2 獲取當前日期時間的函式 160

13.1.3 日期格式轉換 161

13.1.4 datestr轉換函式輸出樣式控制 161

13.2 程式中套用的計時函式 162

13.3 小結 163

第 14章 矩陣代數 164

14.1 矩陣分析 164

14.1.1 矩陣的行列式 164

14.1.2 矩陣的逆 165

14.1.3 矩陣的秩 166

14.1.4 矩陣的範數和條件數 166

14.1.5 矩陣的特徵值、特徵向量和特徵多項式 167

14.1.6 矩陣的標準正交基 168

14.1.7 矩陣分解 168

14.1.8 矩陣的對角元素操作 172

14.1.9 矩陣分析函式總結 173

14.2 線性方程組 174

14.2.1 線性方程組的表示和種類 174

14.2.2 線性方程組的MATLAB求解 175

14.3 特殊矩陣 179

14.4 稀疏矩陣 179

14.4.1 稀疏矩陣的存儲方式 179

14.4.2 稀疏矩陣的創建 180

14.5 小結 182

第 15章 數據分析 183

15.1 數據分析概述和數據預處理 183

15.1.1 數據分析概述 183

15.1.2 數據導入 184

15.1.3 遺失數據的處理 184

15.2 基礎統計分析 185

15.2.1 命令視窗統計分析 185

15.2.2 MATLAB數據統計工具 186

15.2.3 多組數據的相關分析 188

15.3 用線性回歸模型擬合數據 189

15.3.1 命令視窗下的線性回歸 190

15.3.2 用基本擬合工具進行回歸分析 192

15.4 其他分析方法初步 194

15.4.1 有限差分 194

15.4.2 傅立葉分析初步 195

15.5 MATLAB統計工具箱初步 197

15.5.1 機率密度函式 197

15.5.2 機率分布函式 198

15.5.3 逆機率分布函式 200

15.5.4 隨機數產生 201

15.6 小結 203

第 16章 數據插值 204

16.1 一維插值 204

16.1.1 一維插值函式的使用 204

16.1.2 內插運算和外插運算 206

16.2 二維插值 209

16.3 高維插值 212

16.4 插值函式總結 212

16.5 小結 214

第 17章 多項式 215

17.1 多項式基礎 215

17.1.1 多項式的表示 215

17.1.2 多項式的根 216

17.1.3 多項式的創建 216

17.1.4 多項式求值 217

17.2 多項式運算 218

17.2.1 多項式乘法 218

17.2.2 多項式除法 219

17.2.3 多項式加法 219

17.2.4 多項式微分 220

17.2.5 多項式的部分分式展開 221

17.3 多項式曲線擬合 222

17.4 多項式函式總結 223

17.5 小結 224

第 18章 三次樣條 225

18.1 三次樣條基礎 225

18.2 三次樣條的MATLAB實現 225

18.3 小結 228

第 19章 傅立葉分析 229

19.1 傅立葉變換 229

19.2 快速傅立葉變換(FFT) 230

19.3 小結 234

第 20章 最最佳化計算 235

20.1 最佳化工具箱簡介 235

20.1.1 最佳化工具箱的功能 235

20.1.2 最佳化函式 236

20.2 無約束最佳化問題 238

20.2.1 一元函式無約束最佳化 238

20.2.2 多元函式無約束最佳化 239

20.3 約束最佳化問題 240

20.4 GUI最佳化工具 241

20.4.1 GUI最佳化工具的啟動 241

20.4.2 GUI最佳化工具的界面 242

20.4.3 GUI最佳化工具使用步驟 243

20.4.4 GUI最佳化工具套用實例 244

20.5 小結 250

第 21章 微 積 分 251

21.1 微分 251

21.1.1 符號微分 251

21.1.2 數值微分 252

21.2 積分 252

21.2.1 符號積分 252

21.2.2 數值積分的實現方法 253

21.2.3 重積分的實現方法 255

21.3 小結 256

第 22章 常微分方程 257

22.1 常微分方程符號解 257

22.2 常微分方程數值解 258

22.3 小結 261

第 23章 二維圖形 262

23.1 MATLAB圖形視窗概述 262

23.2 基本繪圖指令 265

23.2.1 基本繪圖流程 265

23.2.2 基本繪圖函式 266

23.2.3 設定函式曲線格式和標記點格式 269

23.2.4 子圖繪製 271

23.2.5 疊加繪圖模式 272

23.2.6 設定坐標軸和格線線 273

23.2.7 對數/半對數坐標系繪圖 275

23.2.8 雙縱軸繪圖 276

23.2.9 繪圖視窗開關控制函式 277

23.2.10 設定默認繪圖格式循環順序 278

23.2.11 複數繪圖 279

23.3 圖形標註 280

23.3.1 圖形標註概述 280

23.3.2 圖形標題 282

23.3.3 坐標軸標籤 283

23.3.4 圖例和顏色條 284

23.3.5 文本框標註 286

23.3.6 數據點標記 290

23.3.7 箭頭和圖框標註 290

23.3.8 錨定圖形標註對象 292

23.4 特殊繪圖 292

23.4.1 柱狀圖和面積圖 292

23.4.2 餅形圖 293

23.4.3 直方圖 294

23.4.4 離散數據繪圖 295

23.4.5 等高線圖 296

23.4.6 向量圖 297

23.4.7 其他特殊繪圖指令 299

23.4.8 函式繪圖 301

23.5 互動式繪圖 302

23.5.1 概述 302

23.5.2 圖形面板 303

23.5.3 繪圖瀏覽器 305

23.5.4 屬性編輯器 306

23.5.5 數據查視工具 307

23.5.6 工作保存 308

23.6 小結 308

第 24章 三維圖形 309

24.1 創建三維圖形 309

24.1.1 三維圖形概述 309

24.1.2 三維曲線圖 310

24.1.3 三維曲面圖 311

24.1.4 特殊三維繪圖 316

24.2 創建三維片塊模型 322

24.2.1 創建片塊模型 322

24.2.2 多個片塊模型的創建和顏色設定 323

24.3 三維圖形顯示控制 326

24.3.1 設定坐標軸 326

24.3.2 設定視角 327

24.3.3 Camera控制 329

24.3.4 其他控制工具 330

24.4 小結 330

第 25章 使用顏色和光影 331

25.1 MATLAB中的顏色 331

25.1.1 著色技術 331

25.1.2 RGB真彩著色 332

25.1.3 顏色表 333

25.1.4 索引著色 335

25.1.5 shading模式 338

25.2 光照效果 339

25.2.1 光源對象 339

25.2.2 光照方法 340

25.3 小結 341

第 26章 圖像、聲音和視頻 342

26.1 圖像 342

26.1.1 圖像及其數值類型 342

26.1.2 圖像處理函式 343

26.2 聲音 348

26.3 視頻 349

26.4 小結 350

第 27章 圖形的列印和導出 351

27.1 圖形列印和導出概述 351

27.2 圖形列印 352

27.2.1 使用選單列印圖形 352

27.2.2 圖形列印命令 353

27.3 圖形導出 353

27.3.1 使用選單導出圖形 353

27.3.2 圖形導出命令 353

27.3.3 導出設定 353

27.4 小結 356

第 28章 句柄圖形對象 357

28.1 句柄圖形對象概述 357

28.2 get和set函式 358

28.3 根對象 358

28.4 圖形視窗對象 359

28.5 核心圖形對象 360

28.6 句柄圖形對象操作 361

28.7 回調函式 362

28.8 小結 364

第 29章 圖形用戶界面(GUI) 365

29.1 GUI和GUIDE 365

29.1.1 GUI程式概述 365

29.1.2 打開GUIDE開發環境 366

29.2 使用GUIDE創建GUI界面 367

29.2.1 GUIDE界面概述 367

29.2.2 互動組件 368

29.2.3 設計選單 372

29.2.4 GUI程式的存儲 374

29.2.5 對象瀏覽器 374

29.2.6 GUI程式的運行 375

29.3 回調函式 376

29.3.1 回調函式原型 376

29.3.2 回調函式編程 377

29.4 小結 380

第 30章 MATLAB類和面向對象編程 381

30.1 MATLAB類概述 381

30.1.1 類的基本概念 381

30.1.2 類的組成 382

30.2 MATLAB類的設計 382

30.2.1 在MATLAB中設計類的基本方法 382

30.2.2 建立類目錄 383

30.2.3 類的構造函式

方法 383

30.2.4 類的轉換方法 384

30.2.5 類的顯示方法 386

30.2.6 類的subsref方法 386

30.2.7 類的重載 387

30.2.8 類方法綜合使用實例 390

30.3 MATLAB面向對象編程 391

30.3.1 MATLAB面向對象編程的特點 391

30.3.2 MATLAB面向對象編程與其他語言對比的特點 392

30.4 小結 392

第 31章 MATLAB與Excel、Word的接口 393

31.1 MATLAB與Excel的接口Excel link 393

31.1.1 Excel link的工作原理 394

31.1.2 Excel link的使用 394

31.1.3 Excel link套用舉例 396

31.2 MATLAB 與Word的接口Notebook 397

31.2.1 Notebook的使用 398

31.2.2 在Word中使用Notebook 399

31.3 小結 401

第 32章 擴展MATLAB和Java 402

32.1 Java概述 402

32.2 在MATLAB中使用Java 403

32.2.1 Java接口 404

32.2.2 MATLAB中調用Java 404

32.3 創建和使用Java對象 406

32.3.1 創建Java類對象 407

32.3.2 連線Java對象 407

32.3.3 調用Java類對象 408

32.3.4 Java實例 410

32.4 Java與MATLAB混合編程 411

32.5 MATLAB Builder JA 411

32.5.1 Java環境變數 411

32.5.2 MATLAB中創建Java組件 412

32.6 小結 413

第 33章 MATLAB擴展編程 414

33.1 MATLAB混合編程概述 414

33.1.1 混合編程的背景 414

33.1.2 混合編程的方式 415

33.2 使用MATLAB引擎 415

33.2.1 MATLAB引擎 415

33.2.2 混合編程實例 419

33.3 使用mcc編譯器 422

33.3.1 mcc編譯器 422

33.3.2 MATLAB的設定及創建動態程式庫 423

33.3.3 混合編程實例 425

33.4 使用COM 427

33.4.1 COM簡介 427

33.4.2 COM的設定與創建 428

33.5 小結 428

第 34章 Simulink互動式仿真集成環境 429

34.1 Simulink的使用 429

34.1.1 Simulink啟動 429

34.1.2 Simulink仿真設定 431

34.1.3 Simulink模組庫簡介 438

34.1.4 Simulink功能模組的處理 450

34.2 Simulink自定義功能模組 453

34.2.1 採用Subsystem建立自定義功能模組 453

34.2.2 多個模組組合自定義功能模組 453

34.2.3 自定義功能模組的封裝 453

34.3 S函式設計與套用 455

34.4 Simulink仿真舉例 459

34.5 小結 466

實戰篇

第 35章 MATLAB高等數學計算實例 468

35.1 極限運算 468

35.2 求導數 469

35.2.1 一元函式求導 469

35.2.2 多元函式求導 470

35.2.3 參數方程求導 471

35.2.4 隱函式求導 471

35.2.5 求梯度與方嚮導數 472

35.3 求積分 472

35.3.1 定積分 472

35.3.2 廣義積分 473

35.3.3 重積分 473

35.3.4 不定積分 473

35.4 級數 474

35.4.1 級數展開 474

35.4.2 級數求和 474

35.5 求函式的零點和極值點 474

35.5.1 求函式的零點 474

35.5.2 求函式的極值點 475

35.6 代數方程組求解 476

35.6.1 線性方程組求解 476

35.6.2 非線性方程組求解 482

35.7 常微分方程求解 482

35.7.1 常微分方程的符號解 482

35.7.2 常微分方程組數值解 483

35.8 小結 484

第 36章 MATLAB圖形繪製實例 485

36.1 二維繪圖 485

36.1.1 函式繪圖 485

36.1.2 離散數據繪圖 487

36.1.3 特殊坐標軸繪圖 488

36.2 三維繪圖 490

36.2.1 二元函式繪圖 490

36.2.2 三維曲線繪圖 491

36.2.3 三維曲面繪圖 492

36.3 特殊分析用圖 492

36.3.1 柱狀圖 492

36.3.2 直方圖 493

36.3.3 餅圖 494

36.3.4 散點圖 494

36.3.5 等高線圖 495

36.4 工作空間直接繪製圖形 496

36.5 小結 498

第 37章 MATLAB機率統計實例 499

37.1 數字特徵計算 499

37.1.1 期望 499

37.1.2 方差、標準差、矩 501

37.1.3 協方差、相關係數 502

37.2 機率計算 504

37.2.1 機率密度計算 504

37.2.2 累積與逆累積分布計算 505

37.2.3 特殊分布的期望和方差計算 506

37.2.4 隨機數產生 507

37.3 參數估計 507

37.4 假設檢驗 509

37.4.1 單個總體 均值 的檢驗 509

37.4.2 兩個正態總體均值差的檢驗(t檢驗) 510

37.4.3 基於成對數據的檢驗(t檢驗) 511

37.4.4 正態總體方差的假設檢驗 512

37.5 方差分析 513

37.5.1 單因素試驗的方差分析 513

37.5.2 雙因素試驗的方差分析 514

37.6 回歸分析 516

37.6.1 一元多項式回歸 516

37.6.2 多元線性回歸 517

37.6.3 非線性回歸 518

37.6.4 逐步回歸 520

37.7 小結 522

實例目錄

例1-1 數據的存取 7

例2-1 正弦函式sin的線上求助 25

例2-2 help指令 25

例2-3 help topic指令 26

例2-4 lookfor指令 26

例3-1 創建空數組A 28

例3-2 創建行向量和列向量 28

例3-3 創建一維等差數組 29

例3-4 創建一維等比數組 29

例3-5 創建二維數組 30

例3-6 數組結構測試函式 31

例3-7 數組大小 31

例3-8 數組維度 32

例3-9 數組數據類型測試函式 33

例3-10 數組的記憶體占用 34

例3-11 創建0-1數組 35

例3-12 創建對角數組 36

例3-13 創建隨機數組 36

例3-14 創建魔方數組 37

例3-15 數組元素的索引與定址 38

例3-16 單-雙下標轉換 39

例3-17 邏輯索引 40

例3-18 通過cat函式擴展數組 43

例3-19 使用塊狀複製函式repmat 44

例3-20 使用對角塊生成函式blkdiag 44

例3-21 使用塊操作函式kron 45

例3-22 索引擴展 46

例3-23 數組裁剪 47

例3-24 數組元素刪除 47

例3-25 數組轉置 48

例3-26 數組翻轉 49

例3-27 數組尺寸調整 50

例3-28 數組-數組運算 51

例3-29 數組除法 52

例3-30 點運算 53

例3-31 數組運算函式 54

例3-32 數組查找函式-find 55

例3-33 數組排序 56

例4-1 二維數組擴展創建多維數組 59

例4-2 MATLAB的內聯函式創建多維數組 59

例4-3 cta函式創建多維數組 60

例4-4 MATLAB函式獲取多維數組的屬性 61

例4-5 多維數組的索引訪問 61

例4-6 RESHAPE函式改變多維數組的形狀 63

例4-7 多維數組維度的重新排序 63

例4-8 多維數組參與的數學計算 64

例5-1 通過轉換函式創建整數類型 68

例5-2 整數類型數值參與的運算 69

例5-3 整數類型參與的運算及溢出捕獲 70

例5-4 浮點數轉換函式的套用 71

例5-5 浮點型參與的運算 71

例5-6 浮點數的精度 72

例5-7 複數的創建和運算 73

例5-8 無窮量和非數值量 74

例5-9 通過get和set臨時改變數值顯示格式 75

例6-1 通過對欄位賦值創建結構體 78

例6-2 通過圓括弧索引指派,用欄位賦值的方法創建結構體數組 78

例6-3 利用struct函式創建結構體數組 79

例6-4 結構體內部數據的獲取 81

例6-5 結構體數組的操作 82

例6-6 結構體嵌套 83

例6-7 動態欄位的訪問 84

例6-8 結構體函式的使用 85

例6-9 創建元胞數組 86

例6-10 元胞數組的顯示 87

例6-11 元胞數組的數據訪問 88

例6-12 刪除元胞和改變元胞數組形狀 89

例6-13 嵌套元胞數組的創建和操作 91

例6-14 元胞函式的套用 92

例7-1 字元串的創建 93

例7-2 創建二維字元數組 95

例7-3 字元串的比較 96

例7-4 兩個字元串逐個字元的比較 96

例7-5 字元歸屬測試函式 97

例7-6 字元串的替換 97

例7-7 字元串的查找 98

例7-8 空格處理函式 99

例7-9 字元數組的格式操作 100

例7-10 字元數組和字元串的元胞數組轉換 101

例7-11 字元串元胞數組的操作 102

例7-12 正則表達式的簡單套用 104

例7-13 數值數組轉換成字元數組 105

例7-14 字元數組轉換成數值數組 106

例8-1 邏輯類型數據 107

例8-2 MATLAB中的關係運算 108

例8-3 浮點數的比較運算 109

例8-4 逐個元素的邏輯運算 110

例8-5 捷徑邏輯運算符 111

例8-6 逐位邏輯運算函式 112

例8-7 MATLAB中的邏輯運算函式 113

例8-8 空數組和非數值型(NaN)元素參與的關係運算 113

例8-9 測試函式的套用 115

例9-1 if結構 118

例9-2 數組用於if結構 118

例9-3 switch-case結構 119

例9-4 一條case語句列舉多個值的switch-case語句 120

例9-5 for循環 121

例9-6 數組賦值循環變數的for循環 121

例9-7 while循環 122

例9-8 continue語句 122

例9-9 break語句 123

例9-10 循環和數組函式效率比較 124

例9-11 try-catch結構 125

例9-12 return語句 125

例10-1 腳本M檔案實例 130

例10-2 函式M檔案實例 132

例10-3 匿名函式 134

例10-4 輸入和輸出參數的數目 138

例10-5 可變數目的參數傳遞 139

例10-6 函式內部的輸入參數修改 140

例10-7 將修改後的輸入參數返回給MATLAB工作區 141

例10-8 全局變數的使用 141

例10-9 函式句柄的創建和調用 142

例10-10 處理函式句柄的函式 143

例12-1 資料夾操作命令 152

例13-1 獲取系統當前日期和時間 160

例13-2 日期時間局部信息提取函式 160

例13-3 MATLAB中的日期格式轉換函式 161

例13-4 程式中的定時函式 163

例14-1 矩陣行列式 164

例14-2 矩陣的逆 165

例14-3 矩陣的秩 166

例14-4 矩陣的範數和條件數 166

例14-5 矩陣的特徵值、特徵向量和特徵多項式 167

例14-6 矩陣的標準正交基 168

例14-7 LU分解 169

例14-8 Cholesky分解 169

例14-9 QR分解 170

例14-10 SVD分解(奇異值分解) 171

例14-11 Schur分解 172

例14-12 對角元素操作 172

例14-13 高斯消元法求解恰定線性方程組 175

例14-14 高斯消元法求解欠定方程組 175

例14-15 欠定方程組的一般解 176

例14-16 矩陣除法求解線性方程組 176

例14-17 矩陣求逆求解線性方程組 178

例14-18 稀疏矩陣的創建 180

例14-19 稀疏矩陣函式套用 181

例14-20 nnz和nzmax的區別 182

例15-1 NaN數據參與分析 185

例15-2 基礎數據統計分析 186

例15-3 MATLAB數據統計工具套用 187

例15-3(續) MATLAB數據統計工具套用 188

例15-4 數據相關性分析 189

例15-5 多項式回歸實例 190

例15-6 一般線性回歸實例(數組除法) 191

例15-7 多元線性回歸實例 191

例15-8 套用基本擬合工具進行線性回歸分析 192

例15-8(續) 套用基本擬合工具進行線性回歸分析 194

例15-9 有限差分分析 195

例15-10 傅立葉分析 195

例15-11 機率密度函式 198

例15-12 機率分布函式 199

例15-13 逆機率分布函式 201

例15-14 隨機數的產生 202

例16-1 對sin函式進行分段線性一維插值 205

例16-2 用其他幾種方法對sin函式進行插值 206

例16-3 外插運算方法和誤差 207

例16-4 spline函式和pchip函式 208

例16-5 二維插值 210

例16-6 二維插值方法效果比較 210

例16-7 griddata在二維插值中的套用 213

例17-1 求解多項式 的根 216

例17-2 多項式的創建 216

例17-3 特徵多項式 217

例17-4 多項式求值 217

例17-5 數組的多項式求值 217

例17-6 多項式乘法 218

例17-7 多項式除法 219

例17-8 多項式加法 219

例17-9 多項式微分 220

例17-10 多項式的部分分式展開 221

例17-11 多項式的曲線擬合 222

例17-12 多項式函式的綜合套用 223

例18-1 產生一條正弦曲線,然後用三次樣條插值進行擬合 226

例19-1 函式 的傅立葉變換及其逆變換 230

例19-2 函式 的傅立葉變換及其逆變換 230

例19-3 用傅立葉變換分析受噪聲干擾的時域信號 232

例20-1 函式在區間(0,8)內的最小值 238

例20-2 求函式局部最小點 239

例20-3 求函式在約束條件下的局部最小值 240

例20-4 fminunc求解器套用實例。用最佳化工具求 的極小值,初始點取 244

例20-5 fminsearch求解器套用實例 245

例20-6 fmincon求解器套用實例 247

例20-7 lsqnonlin求解器套用實例 248

例20-8 linprog求解器套用實例 249

例20-9 ga求解器套用實例 250

例21-1 計算 251

例21-2 計算 252

例21-3 范得蒙矩陣的差分運算 252

例21-4 符號積分 253

例21-5 採用梯形法計算定積分 253

例21-6 變步長辛普生法求定積分 254

例21-7 牛頓-柯特斯法求定積分 254

例21-8 trapz函式 255

例21-9 計算 在區間[1,1][1,1]上的二重定積分 256

例21-10 計算 在空間 上的三重定積分 256

例22-1 計算微分方程 的通解 258

例22-2 計算微分方程 在初始條件 下的特解 258

例22-3 求 的通解 258

例22-4 非剛性體的運動方程的微分方程 260

例23-1 MATLAB繪圖函式實例 264

例23-2 簡單畫線函式line 267

例23-3 plot函式套用 267

例23-4 極坐標繪圖函式polar 268

例23-5 曲線格式和標記點類型設定 270

例23-6 線寬和標記點格式設定 271

例23-7 子圖繪製 271

例23-8 疊加繪圖模式 273

例23-9 坐標軸範圍和比例設定(M-file) 274

例23-10 設定坐標軸顯示刻度 275

例23-11 對數/半對數坐標系作圖 275

例23-12 雙縱軸繪圖 276

例23-13 開關控制函式(M-File) 277

例23-14 設定繪圖格式循環順序 278

例23-15 複數繪圖 279

例23-16 圖形標題函式title 283

例23-17 坐標軸標籤 283

例23-18 圖例 284

例23-19 顏色條 285

例23-20 文本框標註 286

例23-21 利用TEX標記序列進行文本標註 288

例23-22 文本框對齊方式(M-File) 288

例23-23 柱狀圖 292

例23-24 面積圖 293

例23-25 餅圖 294

例23-26 頻數直方圖 294

例23-27 玫瑰圖 294

例23-28 火柴桿圖 295

例23-29 階梯圖 296

例23-30 等高線圖 296

例23-31 羅盤圖 297

例23-32 羽毛圖 298

例23-33 向量場圖 299

例23-34 其他特殊繪圖指令-1 299

例23-35 其他特殊繪圖指令-2 300

例23-36 函式繪圖 301

例23-37 互動式繪圖實例 303

例24-1 plot3繪製三維曲線圖 311

例24-2 矩形格線 312

例24-3 三維網線圖 313

例24-4 三維表面圖 314

例24-5 格線框線線設定 315

例24-6 非格線數據點繪圖 361

例24-7 三維柱狀圖 317

例24-8 三維散點圖 317

例24-9 三維餅狀圖 318

例24-10 三維火柴桿圖 319

例24-11 三維向量場圖 319

例24-12 三維等值線圖 320

例24-13 簡易三維繪圖函式 321

例24-14 創建片塊模型 322

例24-15 創建多個片塊模型 323

例24-16 設定多個片塊模型的顏色 325

例24-17 設定坐標軸 327

例24-18 設定視角 328

例25-1 RGB真彩著色 328

例25-2 顏色表數組操作 334

例25-3 指定顏色索引數組的映射索引著色 335

例25-4 不指定顏色索引數組的映射索引著色 336

例25-5 直接索引著色 337

例25-6 shading模式 338

例25-7 光源對象 339

例25-8 光照方法 340

例26-1 獲取信息命令 343

例26-2 圖像讀入和顯示 345

例26-3 灰階強度圖像顯示——gray顏色表 345

例26-3(續) 灰階強度圖像顯示——cool顏色表 346

例26-4 設定圖像顯示時的坐標軸比例 346

例26-5 圖像寫回命令imwrite 347

例28-1 句柄圖形對象操作 361

例28-2 回調函式 363

例30-1 類方法的使用實例 390

例31-1 實現Excel和MATLAB中的數據交換 396

例31-2 M-book使用實例 400

例32-1 連線相同的Java對象 407

例32-2 連線不同的Java對象 408

例32-3 利用Frame的getTitle和setTitle兩個函式 408

例34-1 使用Simulink產生一個2s時出現的單位階躍輸入信號 459

例35-1 求 468

例35-2 求 468

例35-3 求 469

例35-4 求 的一階導數 469

例35-5 求 的二階導數 469

例35-6 已知函式 ,求 470

例35-7 已知函式 ,求 470

例35-8 求 470

例35-9 已知一參數方程為 ,求 471

例35-10 已知 所確定的隱函式 ,求 471

例35-11 求函式 在點(1,1,2)處的梯度 472

例35-12 求函式在點(1,1,2)處沿方向角為 方向的方嚮導數 472

例35-13 求定積分 472

例35-14 計算廣義積分 473

例35-15 計算 在區間[1,1]×[1,1]上的二重積分 473

例35-16 計算 473

例35-17 求將函式 展開為 的最高次為3的冪級數 474

例35-18 求和 474

例35-19 求函式 在 附近的零點,並畫出函式的圖像 474

例35-20 求函式 在區間(0,2)內的極小值點 475

例35-21 採用直接法求解下列方程組 476

例35-22 LU分解法求解下列方程組 477

例35-23 QR分解法求解下列方程組 478

例35-24 Cholesky分解法求解下列方程組 478

例35-25 Cholesky分解法求解下列方程組 479

例35-26 用Jacobi疊代法求解下列線性方程組 480

例35-27 用Gauss-Serdel疊代法求解下列線性方程組 481

例35-28 求下列非線性方程組在(0.5,0.4)附近的數值解 482

例35-29 求 的解 482

例35-30 設有常微分方程,試求其數值解,並與精確解相比較 483

例30-31 求解常微分方程的解,其初值條件為,並畫出解的圖形 483

例36-1 繪製sin函式 485

例36-2 繪製匿名函式 485

例36-3 簡易繪製隱函式 486

例36-4 極坐標函式繪圖 486

例36-5 離散數據點直接繪圖 487

例36-6 離散數據點擬合繪圖 487

例36-7 離散數據點插值繪圖 488

例36-8 雙縱軸繪圖 488

例36-9 半對數坐標軸繪圖 489

例36-10 雙對數坐標軸繪圖 489

例36-11 二元函式peaks繪圖 490

例36-12 二元匿名函式繪圖 491

例36-13 三維曲線繪圖 491

例36-14 三維曲面繪圖 492

例36-15 二維柱狀圖 492

例36-16 三維柱狀圖 493

例36-17 直方圖 493

例36-18 二維和三維餅圖 494

例36-19 二維和三維散點圖 494

例36-20 二維和三維等高線圖 495

例37-1 樣本均值計算實例1 499

例37-2 樣本均值計算實例2 499

例37-3 樣本均值計算實例3 500

例37-4 樣本方差、標準差計算實例 501

例37-7 隨機變數數字特徵綜合計算實例 503

例37-8 機率密度計算實例 504

例37-9 機率密度圖繪製實例 504

例37-10 累積分布函式和逆累積分布函式套用實例 505

例37-11 機率計算套用實例 505

例37-12 特殊分布的期望和方差計算實例1 506

例37-13 特殊分布的期望和方差計算實例2 506

例37-14 特殊分布的期望和方差計算實例3 506

例37-15 隨機數生成實例 507

例37-16 參數估計綜合計算實例1 507

例37-17 參數估計綜合計算實例2 508

例37-18 參數估計綜合計算實例3 508

例37-19 假設檢驗綜合實例1 509

例37-20 假設檢驗綜合實例2 510

例37-21 假設檢驗綜合實例3 510

例37-22 假設檢驗綜合實例4 511

例37-23 假設檢驗綜合實例5 512

例37-24 假設檢驗綜合實例6 512

例37-25 方差分析綜合實例1 513

例37-26 方差分析綜合實例2 514

例37-27 回歸分析綜合實例 516

例37-28 多元線性回歸綜合實例 517

例37-30 逐步回歸綜合實例 520

熱門詞條

聯絡我們