MATLAB 從入門到精通, 2/e

MATLAB 從入門到精通, 2/e

作者: 胡曉冬 董辰輝
出版社: 人民郵電
出版在: 2018-12-01
ISBN-13: 9787115493156
ISBN-10: 7115493154
裝訂格式: 平裝
總頁數: 462 頁





內容描述


本書系統講解了MATLAB基本環境和操作方法,介紹了zui新的MATLAB功能,並分章闡述了數據類型、數值計算、符號計算、編程基礎、可視化、Simulink、應用程序接口等內容,結合案例詳細講解了MATLAB語言的使用。本書還專門講解了實用的MATLAB編程技巧與數學建模應用等。
本書內容豐富、貼近實戰應用,可作為高校學生系統學習MATLAB的書籍,也可以作為廣大科研和工程技術人員在工作中使用MATLAB的參考書。


目錄大綱


第1章MATLAB概述1 
1.1 MATLAB簡介1 
1.2 MATLAB主要功能2 
1.2.1開發算法和應用程序2 
1.2.2分析和訪問數據3 
1.2.3數據可視化3 
1.2.4數值計算4 
1.2.5發布結果和部署應用程序5 
1.3 MATLAB的安裝與啟動5 
1.3.1 MATLAB的安裝5 
1.3.2 MATLAB的啟動7 
1.3.3 Desktop操作界面簡介8 
1.4 Command Window運行入門9 
1.4.1命令行的使用9 
1.4. 2數值、變量和表達式10 
1.4.3命令行的特殊輸入方法12 
1.4.4 Command Window的顯示
格式14 
1.4.5 Command Window的常用
快捷鍵與命令14 
1.5 Command History窗口15 
1.6 Current Folder窗口17 
1.7 Workspace和Variable Editor窗口18 
1.7.1 Workspace窗口18 
1.7.2 Variable Editor窗口19
1.8命令行輔助功能與Function 
Browser 19 
1.9幫助系統21 
1.9.1幫助瀏覽器21 
1.9.2在Command Window中
查詢幫助23 
第2章矩陣和數組25 
2.1矩陣的創建與合併25 
2.1.1創建簡單矩陣25 
2.1.2創建特殊矩陣27 
2.1.3矩陣的合併27 
2.2矩陣的尋訪與賦值28 
2.2.1矩陣的標識28 
2.2.2矩陣的尋訪29 
2.2.3矩陣的賦值30 
2.3進行數組運算的常用函數30 
2.3.1函數數組運算規則的定義30 
2.3.2進行數組運算的常用函數31 
2.4查詢矩陣信息32 
2.4.1矩陣的形狀信息32 
2.4.2矩陣的數據類型32 
2.4.3矩陣的數據結構33 
2.5數組運算與矩陣運算33 
2.6矩陣的重構34 
2.6.1矩陣元素的擴展與刪除34 
2.6.2矩陣的重構35 
2.7稀疏矩陣37 
2.7.1稀疏矩陣的存儲方式37 
2.7.2稀疏矩陣的創建38 
2.7.3稀疏矩陣的運算41
2.7.4稀疏矩陣的交換與重新
排序42 
2.7.5稀疏矩陣視圖44 
2.8多維數組44 
2.8.1多維數組的創建44 
2.8.2多維數組的尋訪與重構47 
2.9多項式的表達式及其操作50 
2.9.1多項式的表達式和創建
方法50 
2.9.2多項式運算函數51 
第3章數據類型53 
3.1數值型53 
3.2邏輯型53 
3.2.1邏輯型簡介53 
3.2.2返回邏輯結果的函數54 
3.2. 3運算符的優先級56 
3.3字符和字符串57 
3.3.1創建字符串57 
3.3.2比較字符串58 
3.3.3查找與替換字符串59 
3.3.4類型轉換60 
3.3.5字符串應用函數小結61 
3.4結構數組62 
3.4.1結構數組的創建63 
3.4.2結構數組的尋訪65 
3.4.3結構數組域的基本操作66 
3.4.4結構數組的操作67 
3.5元胞數組69 
3.5.1元胞數組的創建70 
3.5.2元胞數組的尋訪71 
3.5.3元胞數組的基本操作72
3.5.4元胞數組的操作函數72 
3.6 Map容器74 
3.6.1 Map容器數據類型介紹74 
3.6.2 Map對象的創建75 
3.6.3 Map對象內容的查看76 
3.6.4 Map對象的讀寫77 
3.6 .5 Map對像中鍵和值的修改79 
3.6.6映射其他數據類型81 
3.7日期和時間82 
3.7.1創建日期和時間數組82 
3.7.2日期和時間元素86 
3.7.3日期和時間的計算與繪圖88 
3.7.4以日期和時間作為數值和
字符92 
3.8類別數組93 
3.9表97 
第4章數值計算106 
4.1因式分解106 
4.1.1行列式、逆和秩106 
4.1.2 Cholesky因式分解108 
4.1.3 LU因式分解109 
4.1.4 QR因式分解110 
4.1.5範數111 
4.2矩陣特徵值和奇異值112 
4.2.1特徵值和特徵向量的求取112 
4.2.2奇異值分解114 
4.3概率和統計115 
4.3.1基本分析函數115 
4.3.2概率函數、分佈函數、
逆分佈函數和隨機數125
4.4數值求導與積分126 
4.4.1導數與梯度126 
4.4.2一元函數的數值積分127 
4.4.3二重積分的數值計算129 
4.4.4三重積分的數值計算129 
4.5插值130 
4.5.1一維數據插值130 
4.5.2二維數據插值131 
4.5.3多維插值132 
4.5.4樣條插值133 
4.6曲線擬合134 
4.6.1最小二乘原理及其曲線
擬合算法134 
4.6.2曲線擬合的實現134 
4.7傅里葉分析135 
4.8微分方程137 
4.8.1常微分方程137 
4.8.2偏微分方程140 
第5章符號計算143 
5.1符號變量、表達式及符號方程143 
5.1.1符號變量與表達式的創建143 
5.1.2符號計算中的運算符和
基本函數145 
5.1.3創建符號方程146 
5.2符號微積分146 
5.2.1符號求導與微分146 
5.2.2符號求極限148 
5.2.3符號積分149 
5.2.4級數求和149 
5.2.5泰勒級數150
5.3符號表達式的化簡與替換151 
5.3.1符號表達式的化簡151 
5.3.2符號表達式的替換156 
5.4符號可變的精度計算159 
5.5符號線性代數161 
5.5.1基礎代數運算161 
5.5 .2線性代數運算162 
5.6符號方程求解164 
5.6.1求代數方程的符號解164 
5.6.2求代數方程組的符號解164 
5.6.3求微分方程的符號解166 
5.6.4求微分方程組的符號解168 
5.7符號積分變換168 
5.7.1傅里葉變換及其反變換168 
5.7.2拉普拉斯變換及其反變換170 
5.7.3 z變換及其反變換171 
第6章MATLAB編程基礎173 
6.1 M文件173 
6.1.1 M文件編輯器174 
6.1.2 M文件的基本內容175 
6.1.3腳本式M文件178 
6.1.4函數式M文件178 
6.2流程控制179 
6.2.1順序結構179 
6.2.2 if語句180 
6.2.3 switch語句181 
6.2.4 for循環182 
6.2.5 while循環183
6.2.6 continue命令184 
6.2.7 break命令185 
6.2.8 return命令185 
6.2.9人機交互命令186 
6.3函數的類型188 
6.3.1主函數188 
6.3.2子函數188 
6.3.3私有函數189 
6.3 .4嵌套函數190 
6.3.5重載函數193 
6.3.6匿名函數193 
6.4函數的變量197 
6.4.1變量類型197 
6.4.2變量的傳遞199 
6.5函數句柄201 
6.5.1函數句柄的創建201 
6.5 .2函數句柄的調用202 
6.5.3函數句柄的操作202 
6.6串演算函數204 
6.6.1 eval函數204 
6.6.2 feval函數205 
6.6.3 inline函數205 
6.7內存的使用206 
6.7.1內存管理函數207 
6.7.2高效使用內存的策略207 
6.7.3解決“Out of Memory” 
問題209 
6.8程序調試和優化209 
6.8.1使用Debugger窗口調試210 
6.8.2在命令窗口中調試213
6.8.3通過Profiler檢測性能216 
6.9錯誤處理219 
6.9.1使用try…catch語句
捕捉錯誤219 
6.9.2處理錯誤和從錯誤中恢復219 
6.9.3警告221 
第7章數據可視化224 
7.1繪圖的基本知識224 
7.1.1離散數據和離散函數的
可視化224 
7.1.2連續函數的可視化225 
7.1.3可視化的一般步驟226 
7.2二維圖形226 
7.2.1基本繪圖函數227 
7.2.2曲線的色彩、線型和數據
點型229 
7.2.3坐標、刻度和網格控制231 
7.2.4圖形標識233 
7.2.5雙坐標圖和子圖236 
7.2.6雙軸對數圖形238 
7.2.7特殊二維圖形238 
7.3三維圖形245 
7.3.1繪製三維曲線圖246 
7.3.2繪製三維曲面圖246 
7.3.3特殊三維圖形248 
7.4三維圖形的高級控制250 
7.4.1視點控制251 
7.4.2顏色的使用251 
7.4.3光照控制252 
第8章圖像處理253
8.1圖像文件的操作253 
8.1.1查詢圖像文件的信息254 
8.1.2圖像文件的讀寫255 
8.1.3圖像文件的顯示256 
8.1.4圖像格式的轉換257 
8.2圖像的幾何運算259 
8.2.1圖像的平移259 
8.2.2圖像的鏡像變換259 
8.2.3圖像的縮放260 
8.2.4圖像的旋轉261 
8.2.5圖像的剪切262 
8.3圖像的正交變換262 
8.3.1傅里葉變換262 
8.3. 2離散餘弦變換263 
8.3.3 Radon變換265 
8.4 MATLAB圖像增強266 
8.4.1像素值及其統計特性266 
8.4.2對比度增強268 
8.4.3直方圖均衡化270 
8.4.4空域濾波增強271 
8.4.5頻域增強273 
第9章圖形用戶界面設計275 
9.1句柄圖形對象275 
9.1.1圖形對象275 
9.1.2圖形對象句柄276 
9.1.3圖形對象屬性的獲取和
設置277 
9.2 GUIDE簡介280 
9.2.1啟動GUI 281 
9.2.2 Layout編輯器281
9.2.3運行GUI 282 
9.3創建GUI 282 
9.3.1 GUI的佈局282 
9.3.2菜單的創建283 
9.3.3控件287 
9.4回調函數291 
9.4.1變量的傳遞291 
9.4.2函數編寫292 
9.5 GUI設計示例294 
第10章數據文件I/O 301 
10.1處理文件名稱301 
10.2 MATLAB支持的文件格式302 
10.3導入嚮導的使用303 
10.4 MAT文件的讀寫304 
10.4.1 MAT文件的寫入304 
10.4.2 MAT文件的讀取306 
10.5 Text文件的讀寫306 
10.5.1 Text文件的讀取307 
10.5.2 Text文件的寫入309 
10.6 Excel文件的讀寫310 
10.7音頻/視頻文件操作312 
10.7.1獲取音頻/視頻文件的
文件頭信息312 
10.7.2音頻/視頻文件的導入與
導出312 
第11章MATLAB優化問題應用314 
11.1 MATLAB優化工具箱314 
11.1.1 MATLAB求解器314 
11.1.2極小值優化315
11.1.3多目標優化322 
11.1.4方程組求解323 
11.1.5最小二乘及數據擬合324 
11.2模式搜索法325 
11.3模擬退火算法327 
11.3.1模擬退火算法簡介327 
11.3.2模擬退火算法的應用327 
11.3.3關於計算結果的說明329 
11.4遺傳算法329 
11.4.1遺傳算法簡介329 
11.4.2遺傳算法的應用331 
11.5 Optimization Tool簡介333 
第12章信號處理336 
12.1信號處理基本理論336 
12.1.1信號的生成336 
12.1.2數字濾波器結構340 
12.2 IIR濾波器的MATLAB實現342 
12.2.1 IIR濾波器經典設計342 
12.2.2 IIR濾波器直接設計法349 
12.2.3廣義巴特沃思IIR濾波器
設計350 
12.3 FIR濾波器的MATLAB實現351 
12.3.1 FIR濾波器設計352 
12.3.2 fir1函數352 
12.3.3 fir2函數354 
第13章Simulink仿真355 
13.1 Simulink簡介355
13.1.1 Simulink功能與特點355 
13.1.2 Simulink的安裝與啟動356 
13.2 Simulink基礎358 
13.2.1 Simulink模型的含義358 
13.2.2 Simulink模塊操作358 
13.2.3 Simulink信號線操作362 
13.2.4 Simulink對模型的註釋363 
13.2.5 Simulink中常用的
模型庫363 
13.2.6 Simulink仿真配置366 
13.3 Simulink動態系統仿真370 
13.3.1簡單系統的仿真分析370 
13.3.2離散系統的仿真分析372 
13.3.3連續系統的仿真分析374 
13.4 Simulink模型中的子系統377 
13.4.1子系統的建立377 
13.4.2子系統的封裝378 
13.5 Simulink中的S函數383 
13.5.1 S函數383 
13.5.2 S函數的作用和原理383 
13.5.3用M文件創建S函數384 
第14章應用程序接口387 
14.1 MATLAB應用程序接口介紹387 
14.2 MATLAB調用C/C++ 388 
14.2.1 MATLAB MEX文件388
14.2.2 C/C++ MEX文件的使用391 
14.3在C/C++中調用MATLAB 
引擎397 
14.3.1 MATLAB計算引擎概述397 
14.3.2 MATLAB計算引擎庫
函數397 
14.3.3在C/C++中調用MATLAB 
引擎的示例399 
14.4 MATLAB編譯器404 
14.4.1 MATLAB編譯器的安裝和
設置405 
14.4.2 MATLAB編譯器的使用405 
14.4.3獨立應用程序407 
第15章MATLAB基礎計算技巧416 
15.1 MATLAB數組創建與重構技巧416 
15.2 MATLAB數據類型使用技巧422 
15.3 MATLAB數值計算技巧424 
15.4 MATLAB文件讀取操作技巧426 
15.5 MATLAB繪圖技巧427 
第16章MATLAB編程技巧430 
16.1 MATLAB編程風格430 
16.1.1命名規則430 
16.1.2文件與程序結構432 
16.1.3基本語句433 
16.1.4排版、註釋與文檔436 
16.2 MATLAB編程注意事項439 
16.3內存的使用440
16.4提高MATLAB運行效率441 
16.4.1提高運行效率的基本
原則441 
16.4.2提高運行效率的示例443 
第17章MATLAB在數學建模中的
應用446 
17.1 MATLAB蒙特卡羅模擬446 
17.1.1蒙特卡羅方法簡介446 
17.1.2蒙特卡羅方法編程示例447 
17.2 MATLAB灰色系統的理論與
應用448 
17.2.1 GM(1,1)預測模型簡介449 
17.2.2灰色預測計算示例450 
17.3 MATLAB模糊聚類分析452 
17.3.1模糊聚類分析簡介452 
17.3.2模糊聚類分析應用示例453 
17.4 MATLAB層次分析法的應用457 
17.4.1層次分析法簡介457 
17.4.2層次分析法的應用460


作者介紹


胡曉冬,有十年以上的MATLAB使用經驗,在日常的工作中也是以MATLAB作為主要的編程工具進行算法方面的編程,並且在之前編寫過多本MATLAB教程。在過去的多年裡面一直在跟進MATLAB軟件的更新,對於新的功能尤其是人性化方面的功能有著深入體會。




相關書籍

FLAG'S 創客‧自造者工作坊 -- 學 Python 玩創客

作者 施威銘研究室

2018-12-01

Spark MLlib機器學習:算法、源碼及實戰詳解

作者 黃美靈

2018-12-01

Doing Bayesian Data Analysis: A Tutorial with R, JAGS, and Stan (2nd Edition)

作者 John Kruschke

2018-12-01