圖書信息
書名:精通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