本書以MathWorks公司最新推出的MATLAB R2024a軟件為基礎,系統(tǒng)講解了MATLAB基本環(huán)境和操作方法及在數(shù)學建模中的應用;分章闡述了矩陣計算、數(shù)值計算、符號計算、數(shù)據(jù)可視化、數(shù)據(jù)分析、M文件編寫、文件讀寫、MATLAB編譯器、應用程序接口等內(nèi)容;并結合相關的函數(shù)或命令,精心編寫了一些數(shù)學建模方面的示例,用來詳細說明具體函數(shù)和命令的使用方法,并在每章的小結中給出了軟件使用的經(jīng)驗技巧等供讀者參考,是一本軟件基礎知識與數(shù)學建模應用相結合的學習手冊。
田棟,研究員,畢業(yè)于天津大學,從事科研工作十余年,組織并參與多項國家科技重大專項任務,擔任多顆通信衛(wèi)星總體主任設計師。專注于航空航天領域數(shù)據(jù)分析與處理工作,精通多種工程應用與數(shù)據(jù)分析方法,擁有豐富的數(shù)學建模及工程分析實踐經(jīng)驗,發(fā)表論文十余篇,參與出版學術著作兩部,授權專利多項,榮獲省部級科技進步獎一項。
目 錄
第一部分 基礎知識
第1章 Matlab概述
1.1 Matlab簡介
1.1.1 Matlab的發(fā)展
1.1.2 Matlab的主要特點
1.2 Matlab的安裝
1.3 Matlab的目錄結構
1.4 Matlab的工作環(huán)境
1.4.1 操作界面簡介
1.4.2 運行命令窗口
1.4.3 命令窗口的顯示方式
1.4.4 數(shù)值結果的顯示方式
1.4.5 命令窗口的標點符號
1.4.6 輸入變量
1.4.7 處理復數(shù)
1.4.8 命令窗口的控制命令
1.4.9 使用歷史窗口
1.4.10 使用實錄命令
1.4.11 當前目錄瀏覽器和路徑管理
1.4.12 設置當前目錄
1.4.13 Matlab的搜索路徑
1.4.14 工作空間瀏覽器和數(shù)組編輯器
1.4.15 變量的編輯命令
1.4.16 數(shù)組編輯器
1.4.17 存取數(shù)據(jù)文件
1.5 Matlab的通用命令
1.6 使用Matlab幫助系統(tǒng)
1.6.1 純文本幫助
1.6.2 演示(demo)幫助
1.6.3 幫助導航/瀏覽器
1.6.4幫助文件目錄窗口
1.6.5幫助文件索引窗口
1.6.6幫助文件搜索窗口
1.7 本章小結
第2章 Matlab基礎知識
2.1 數(shù)據(jù)類型
2.1.1 數(shù)值類型
2.1.2 邏輯類型
2.1.3 字符和字符串
2.1.4 函數(shù)句柄
2.1.5 結構體類型
2.1.6 單元數(shù)組類型
2.2 基本矩陣操作
2.2.1 矩陣的構造
2.2.2 矩陣大小的改變
2.2.3 矩陣下標引用
2.2.4 矩陣信息的獲取
2.2.5 矩陣結構的改變
2.2.6 稀疏矩陣
2.3 運算符和特殊符號
2.3.1 算數(shù)運算符
2.3.2 關系運算符
2.3.3 邏輯運算符
2.3.4 運算優(yōu)先級
2.4 字符串處理函數(shù)
2.4.1 字符串的構造
2.4.2 字符串比較函數(shù)
2.4.3 字符串查找和替換函數(shù)
2.4.4 字符串——數(shù)值轉換
2.5 本章小結
第3章 矩陣和數(shù)組
3.1 矩陣的創(chuàng)建與組合
3.1.1 創(chuàng)建簡單矩陣
3.1.2 創(chuàng)建特殊矩陣
3.1.3 矩陣的合并
3.2 矩陣的尋訪與賦值
3.2.1 矩陣的標識
3.2.2 矩陣的尋訪
3.2.3 矩陣的賦值
3.3 進行數(shù)組運算的常用函數(shù)
3.3.1 函數(shù)數(shù)組運算規(guī)則的定義
3.3.2 進行數(shù)組運算的常用函數(shù)
3.4 查詢矩陣信息
3.4.1 矩陣的形狀信息
3.4.2 矩陣的數(shù)據(jù)類型
3.4.3 矩陣的數(shù)據(jù)結構
3.5 數(shù)組運算與矩陣運算
3.6 矩陣的重構
3.6.1 矩陣元素的擴展與刪除
3.6.2 矩陣的重構
3.7 稀疏矩陣
3.7.1 稀疏矩陣的存儲方式
3.7.2 稀疏矩陣的創(chuàng)建
3.7.3 稀疏矩陣的運算
3.7.4 稀疏矩陣的交換與重新排序
3.7.5 稀疏矩陣視圖
3.8 多維數(shù)組
3.8.1 多維數(shù)組的創(chuàng)建
3.8.2 多維數(shù)組的尋訪與重構
3.9 多項式的表達式及其操作
3.9.1 多項式的表達式和創(chuàng)建
3.9.2 多項式運算函數(shù)
3.10 本章小結
第4章 Matlab基本編程
4.1 腳本和函數(shù)
4.1.1 函數(shù)
4.1.2 腳本
4.1.3 子函數(shù)與私有目錄
4.1.4 P碼文件
4.2 Matlab中的變量和語句
4.2.1 變量類型
4.2.2 M文件的流控制語句
4.3 程序的調(diào)試(Debug)
4.3.1 直接調(diào)試法
4.3.2 工具調(diào)試法
4.4 函數(shù)的設計和實現(xiàn)
4.4.1 建立數(shù)學模型
4.4.2 編寫代碼
4.4.3 運行程序
4.5 本章小結
第5章 數(shù)據(jù)可視化
5.1 圖形繪制示例
5.2 二維圖形繪制
5.2.1 plot函數(shù)
5.2.2 線型、標記和顏色
5.2.3 圖形坐標軸設置
5.2.4 多個圖形迭繪及多個圖形窗口
5.2.5 子圖繪制
5.2.6 交互式繪圖和屏幕刷新
5.2.7 plotyy函數(shù)繪制雙坐標軸
5.2.8 easy繪圖命令
5.3 三維圖形繪制
5.3.1 曲線圖繪制
5.3.2 網(wǎng)格圖繪制
5.3.3 曲面圖的繪制
5.3.4 繪制等值線圖
5.4 四維圖形可視化
5.4.1 slice切片命令
5.4.2 其他slice函數(shù)
5.4.3 等值面圖繪制
5.5 復數(shù)變量圖形繪制
5.6 特殊圖形繪制
5.6.1 area區(qū)域繪圖
5.6.2 pie餅圖繪制
5.6.3 直方圖和梯形圖
5.6.4 矢量分布圖繪制
5.6.5 誤差線圖形繪制
5.6.6 離散數(shù)據(jù)繪制
5.6.7 偽色彩圖繪制
5.6.8 極坐標圖形繪制
5.7 圖形的打印輸出
5.8 本章小結
第6章 數(shù)據(jù)分析
6.1 數(shù)據(jù)插值
6.1.1 一維插值
6.1.2 二維插值
6.1.3 樣條插值
6.2 曲線擬合
6.3 圖形界面曲線擬合
6.3.1 曲線擬合示例
6.3.2 擬合殘差圖形繪制
6.3.3 數(shù)據(jù)預測
6.4 傅里葉分析
6.4.1 離散傅里葉變換
6.4.2 傅里葉變換相關的常用函數(shù)
6.4.3 傅里葉級數(shù)
6.4.4 使用FFT進行插值
6.5 優(yōu)化問題
6.5.1 非線性無約束優(yōu)化
6.5.2 約束條件下的非線性優(yōu)化
6.5.3 最小最大值的優(yōu)化問題
6.5.4 線性規(guī)劃求解
6.6 常微分方程
6.6.1 常微分方程介紹
6.6.2 常微分方程求解
6.6.3 加權常微分方程
6.6.4 延遲微分方程
6.6.5 常微分方程的邊界問題
6.7 函數(shù)的零點問題
6.7.1 一元函數(shù)的零點
6.7.2 多元函數(shù)的零點
6.8 數(shù)值積分
6.8.1 一元函數(shù)的數(shù)值積分
6.8.2 多重數(shù)值積分
6.9 概率論和數(shù)理統(tǒng)計
6.9.1 概率分布
6.9.2 數(shù)據(jù)分布分析
6.9.3 假設檢驗
6.10 本章小結
第7章 符號計算
7.1 符號對象和符號表達式
7.1.1 符號對象的創(chuàng)建命令
7.1.2 符號對象的創(chuàng)建示例
7.1.3 符號計算中的運算符和函數(shù)
7.1.4 符號對象的類別識別命令
7.1.5 符號表達式中的變量確定
7.1.6 符號精度計算
7.2 符號表達式操作
7.3 符號表達式的替換
7.4 符號函數(shù)的操作
7.4.1 反函數(shù)操作
7.4.2 復合函數(shù)操作
7.5 符號微積分
7.5.1 級數(shù)求和
7.5.2 符號極限
7.5.3 符號微分
7.5.4 符號積分
7.6 符號積分變換
7.6.1 傅里葉變換及其反變換
7.6.2 拉普拉斯變換及其反變換
7.6.3 Z變換及其反變換
7.7 符號代數(shù)方程求解
7.8 符號微分方程求解
7.9 利用Maple進行符號計算
7.9.1 Maple函數(shù)的使用
7.9.2 Maple經(jīng)典函數(shù)的調(diào)用
7.9.3 Maple庫函數(shù)的幫助
7.10 符號分析可視化
7.10.1 funtool分析界面
7.10.2 taylortool分析界面
7.11 本章小結
第8章 Simulink仿真系統(tǒng)
8.1 Simulink基礎知識
8.1.1 Simulink的啟動
8.1.2 Simulink創(chuàng)建仿真示例
8.1.3 模塊庫瀏覽器
8.1.4 Simulink模型窗口
8.1.5 模型窗口的菜單欄
8.2 Simulink模型操作
8.2.1 Simulink模型的原理
8.2.2 模塊的操作
8.2.3 信號線的操作
8.3 Simulink信號
8.3.1 常見的信號
8.3.2 復數(shù)信號
8.3.3 虛擬信號和信號總線
8.3.4 創(chuàng)建信號組
8.3.5 自定義信號源
8.4 常用的Sink模塊
8.5 Simulink仿真系統(tǒng)的設置
8.5.1 解算器(Solver)的設置
8.5.2 仿真數(shù)據(jù)的輸入輸出設置
8.5.3 仿真診斷設置
8.6 線性連續(xù)系統(tǒng)建模
8.6.1 使用積分模塊
8.6.2 使用積分器求解微分方程
8.6.3 傳遞函數(shù)進行仿真
8.6.4 狀態(tài)空間方法進行系統(tǒng)仿真
8.7 非線性連續(xù)系統(tǒng)建模
8.7.1 非線性仿真系統(tǒng)建模簡介
8.7.2 任意非線性函數(shù)的仿真
8.8 封裝子系統(tǒng)創(chuàng)建和受控執(zhí)行
8.8.1 使用模塊組合子系統(tǒng)
8.8.2 通過子系統(tǒng)模塊創(chuàng)建子系統(tǒng)
8.8.3 封裝子系統(tǒng)
8.8.4 使能控制子系統(tǒng)
8.8.5 觸發(fā)控制子系統(tǒng)
8.9 離散時間系統(tǒng)和混合系統(tǒng)
8.10 命令方式運行Simulink
8.11 本章小結
第9章 句柄圖形
9.1 句柄圖形體系
9.1.1 圖形對象
9.1.2 句柄對象
9.1.3 對象屬性
9.1.4 圖形對象句柄創(chuàng)建示例
9.2 圖形對象創(chuàng)建
9.2.1 創(chuàng)建圖形對象
9.2.2 訪問圖形對象句柄
9.2.3 使用句柄操作圖形對象
9.3 圖形對象設置
9.3.1 用set命令設置屬性
9.3.2 圖形的默認屬性
9.3.3 句柄圖形的通用屬性
9.4 高級繪圖對象
9.4.1 Nextplot屬性
9.4.2 Newplot命令
9.4.3 高級繪圖命令
9.5 坐標軸對象
9.5.1 坐標軸的幾何屬性
9.5.2 坐標軸的刻度屬性
9.5.3 坐標軸的照相機屬性
9.5.4 坐標軸的尺度、方向屬性
9.6 本章小結
第10章 文件讀取I/O
10.1 工作空間數(shù)據(jù)讀取
10.2 數(shù)據(jù)文件的導入和導出
10.3 底層文件讀取I/O
10.4 文件名稱處理
10.5 處理二進制文件
10.5.1 讀取M文件
10.5.2 讀取文本文件
10.5.3 寫入文本文件
10.6 處理文本文件
10.6.1 使用csvread讀取文本文件
10.6.2 使用dlmread讀入數(shù)據(jù)
10.6.3 使用textread讀入文件
10.6.4 使用textscan讀入數(shù)據(jù)
10.6.5 使用csvwrite輸出文本數(shù)據(jù)
10.6.6 使用dlmwrite輸出數(shù)據(jù)
10.7 圖像文件讀入和輸出
10.7.1 圖像文件讀入
10.7.2 圖像文件輸出
10.8 本章小結
第11章 Matlab的編譯器
11.1 編譯器概述
11.2 編譯器的安裝和配置
11.2.1 安裝前提
11.2.2 編譯器的安裝
11.2.3 配置編譯器
11.3 編譯過程
11.3.1 安裝MCR
11.3.2 MCR編譯過程
11.4 編譯命令
11.5 編譯生成獨立運行程序
11.5.1 編譯M文件
11.5.2 M文件和C文件的混合編譯
11.5.3 編譯圖形繪制M文件
11.6 調(diào)用M文件中的函數(shù)接口
11.7 編譯生成共享庫函數(shù)
11.8 本章小結
第12章 應用程序接口
12.1 C語言MEX文件
12.1.1 MEX文件的數(shù)據(jù)
12.1.2 C-MEX文件的調(diào)用
12.1.3 創(chuàng)建MEX文件
12.2 FORTRAN語言的MEX文件
12.2.1 FORTRAN-MEX函數(shù)的調(diào)用
12.2.2 MEX函數(shù)
12.3 MAT文件
12.3.1 MAT函數(shù)
12.3.2 C語言創(chuàng)建MAT文件
12.3.3 FORTRAN語言創(chuàng)建MAT文件
12.4 Matlab的引擎技術
12.4.1 Matlab引擎技術介紹
12.4.2 創(chuàng)建使用引擎技術程序
12.5 Java語言接口
12.5.1 Matlab中的Java接口
12.5.2 Java接口程序應用
12.6 本章小結
第二部分 綜合應用
第13章 數(shù)學建模綜合應用一
第14章 數(shù)學建模綜合應用二
第15章 數(shù)學建模綜合應用三
第16章 數(shù)學建模綜合應用四
附錄:Matlab 常用命令集