MATLAB語言是目前世界上*為流行的科學(xué)計(jì)算語言之一。通過本書的學(xué)習(xí),讀者不僅能運(yùn)用MATLAB語言進(jìn)行科學(xué)計(jì)算,還能利用Simulink仿真工具完成系統(tǒng)的建模與分析。潘巍、章興武編*的《仿真建模與 MATLAB實(shí)用教程》分為12章,內(nèi)容包括MATLAB入門, MATLAB的數(shù)據(jù)與數(shù)據(jù)類型,數(shù)組、矩陣及其運(yùn)算, MATLAB的程序設(shè)計(jì),MATLAB的數(shù)值計(jì)算,MATLAB的文件操作,MATLAB的繪圖,圖形用戶界面(GUI)的設(shè)計(jì)與實(shí)現(xiàn),Simulink概述,常用模塊庫及數(shù)據(jù)的導(dǎo)入導(dǎo)出,動態(tài)系統(tǒng)的仿真與分析,子系統(tǒng)等。
本書針對通識選修類、電子信息類或計(jì)算機(jī)科學(xué)與技術(shù)類的本科生和研究生而編寫,內(nèi)容豐富,實(shí)例典型,實(shí)用性強(qiáng),既可作為MATLAB仿真建模的教材,也可作為廣大科研和工程技術(shù)人員的參考書。
第1章 MATLAB入門
1.1 MATLAB簡介
1.1.1 MATLAB的由來
1.1.2 MATLAB的發(fā)展
1.1.3 MATLAB語言的特點(diǎn)
1.1.4 MATLAB的組成
1.1.5 Simulink簡介
1.2 MATLAB的開發(fā)環(huán)境
1.2.1 開發(fā)環(huán)境概覽
1.2.2 命令窗口
1.2.3 工作空間
1.2.4 歷史命令
1.2.5 工作目錄
1.2.6 編輯器
1.2.7 設(shè)置路徑
1.3 MATLAB的在線幫助
1.3.1 利用命令窗口獲得幫助
1.3.2 利用幫助瀏覽器獲得幫助
第2章 MATLAB的數(shù)據(jù)與數(shù)據(jù)類型
2.1 數(shù)據(jù)的基本概念
2.1.1 標(biāo)量與向量
2.1.2 數(shù)組與矩陣
2.1.3 實(shí)數(shù)與復(fù)數(shù)
2.1.4 常量與變量
2.1.5 變量的命名規(guī)則
2.2 數(shù)據(jù)的類型
2.2.1 使用數(shù)據(jù)時的注意事項(xiàng)
2.2.2 數(shù)值型
2.2.3 字符型
2.2.4 邏輯型
2.2.5 結(jié)構(gòu)體型
2.2.6 元胞型
2.3 數(shù)據(jù)類型的轉(zhuǎn)換
2.3.1 數(shù)值型數(shù)據(jù)之間的類型轉(zhuǎn)換
2.3.2 非負(fù)整數(shù)的進(jìn)制轉(zhuǎn)換
2.3.3 數(shù)值型與字符型數(shù)據(jù)的轉(zhuǎn)換
2.3.4 元胞型與其他數(shù)據(jù)類型的轉(zhuǎn)換
第3章 數(shù)組、矩陣及其運(yùn)算
3.1 數(shù)組的創(chuàng)建
3.1.1 數(shù)組的創(chuàng)建
3.1.2 特殊數(shù)組的創(chuàng)建
3.1.3 數(shù)組的大小
3.1.4 數(shù)組的訪問
3.1.5 數(shù)組的組合、擴(kuò)充、拆分與重組
3.2 數(shù)組的運(yùn)算
3.2.1 關(guān)系運(yùn)算
3.2.2 邏輯運(yùn)算
3.2.3 數(shù)組的四則運(yùn)算
3.2.4 數(shù)組的集合運(yùn)算
3.3 矩陣的運(yùn)算
3.3.1 加減運(yùn)算
3.3.2 乘法運(yùn)算
3.3.3 除法運(yùn)算
3.3.4 乘方運(yùn)算
3.4 矩陣的求值運(yùn)算
3.4.1 計(jì)算矩陣的行列式值
3.4.2 計(jì)算矩陣的逆與偽逆
3.4.3 計(jì)算矩陣的秩
3.4.4 計(jì)算矩陣的跡
3.4.5 計(jì)算向量和矩陣的范數(shù)
3.4.6 計(jì)算矩陣的條件數(shù)
3.4.7 計(jì)算矩陣的最大無關(guān)組
3.4.8 計(jì)算矩陣的特征值與特征向量
3.4.9 計(jì)算矩陣的正交基
3.5 矩陣的特殊運(yùn)算
3.5.1 矩陣的轉(zhuǎn)置
3.5.2 矩陣的旋轉(zhuǎn)
3.5.3 抽取對角線元素
3.5.4 抽取上下三角陣
3.6 特殊矩陣
3.6.1 希爾伯特矩陣
3.6.2 范德蒙德矩陣
3.6.3 特普利茨矩陣
3.6.4 伴隨矩陣
3.6.5 帕斯卡矩陣
3.6.6 稀疏矩陣
3.7 矩陣的分解
3.7.1 三角分解
3.7.2 奇異值分解
3.7.3 正交分解
3.7.4 Cholesky分解
3.7.5 Schur分解
3.7.6 特征值分解
第4章 MATLAB的程序設(shè)計(jì)
4.1 程序控制結(jié)構(gòu)
4.1.1 順序結(jié)構(gòu)
4.1.2 選擇結(jié)構(gòu)
4.1.3 循環(huán)結(jié)構(gòu)
4.2 程序的流程控制
4.2.1 continue命令
4.2.2 break命令
4.2.3 return命令
4.3 try-catch結(jié)構(gòu)
4.4 M文件
4.4.1 M文件的命名規(guī)則
4.4.2 腳本文件
4.4.3 函數(shù)文件
4.5 函數(shù)類型
4.5.1 主函數(shù)
4.5.2 子函數(shù)
4.5.3 嵌套函數(shù)
4.5.4 私有函數(shù)
4.5.5 重載函數(shù)
4.5.6 匿名函數(shù)
4.5.7 利用全局變量傳遞參數(shù)
4.6 程序的優(yōu)化
4.6.1 用數(shù)組運(yùn)算取代循環(huán)
4.6.2 盡量調(diào)用MATLAB函數(shù)
4.6.3 使用循環(huán)時的注意事項(xiàng)
4.7 實(shí)例分析
第5章 MATLAB的數(shù)值計(jì)算
5.1 多項(xiàng)式的計(jì)算
5.1.1 生成多項(xiàng)式
5.1.2 多項(xiàng)式的加減乘除
5.1.3 多項(xiàng)式的求導(dǎo)
5.1.4 多項(xiàng)式的求值
5.1.5 多項(xiàng)式的求根
5.2 插值計(jì)算
5.2.1 一維數(shù)據(jù)的插值
5.2.2 二維數(shù)據(jù)的插值
5.2.3 一般分布的二維數(shù)據(jù)插值
5.3 曲線擬合
5.3.1 多項(xiàng)式擬合
5.3.2 最小二乘擬合
5.4 數(shù)據(jù)分析和統(tǒng)計(jì)
5.4.1 基本的數(shù)據(jù)分析和統(tǒng)計(jì)
5.4.2 協(xié)方差和相關(guān)系數(shù)
5.5 概率統(tǒng)計(jì)
5.5.1 隨機(jī)變量的分布與數(shù)字特征
5.5.2 參數(shù)估計(jì)
5.5.3 假設(shè)檢驗(yàn)
5.5.4 方差分析
5.6 數(shù)值積分
5.6.1 一元函數(shù)的數(shù)值積分
5.6.2 二元函數(shù)的數(shù)值積分
5.7 數(shù)值微分
5.8 方程的解
5.8.1 線性方程組的解
5.8.2 非線性方程的解
5.8.3 非線性方程組的解
5.8.4 無約束最優(yōu)化問題
5.8.5 有約束最優(yōu)化問題
第6章 MATLAB的文件操作
6.1 對Excel數(shù)據(jù)表和Lotus 1-2-3數(shù)據(jù)表的操作
6.1.1 對Excel數(shù)據(jù)表的操作
6.1.2 對Lotus 1-2-3數(shù)據(jù)表的操作
6.2 對圖像文件的操作
6.2.1 檢查圖像文件的相關(guān)信息
6.2.2 讀取圖像文件
6.2.3 保存圖像文件
6.3 對音頻和視頻文件的操作
6.3.1 檢查音頻和視頻文件的相關(guān)信息
6.3.2 讀取音頻和視頻文件
6.3.3 保存音頻和視頻文件
6.4 對ASCII文件的操作
6.4.1 讀取ASCII文件
6.4.2 寫入ASCII文件
6.5 對MAT文件的操作
6.5.1 讀取MAT文件
6.5.2 寫入MAT文件
6.6 用低端的I/O函數(shù)操作文件
6.6.1 打開和關(guān)閉文件
6.6.2 逐行讀取文本文件
6.6.3 讀取二進(jìn)制文件
6.6.4 寫入二進(jìn)制文件
6.6.5 控制文件句柄
第7章 MATLAB的繪圖
7.1 基本二維繪圖
7.2 多圖繪制與圖形修飾
7.2.1 多圖繪制
7.2.2 圖形屬性的設(shè)置
7.2.3 圖形的輔助說明
7.2.4 設(shè)置坐標(biāo)軸網(wǎng)格與坐標(biāo)框
7.3 特殊二維繪圖命令
7.3.1 繪制區(qū)域圖
7.3.2 繪制條形圖
7.3.3 繪制羅盤圖
7.3.4 繪制彗星圖
7.3.5 繪制等高線圖
7.3.6 繪制誤差棒圖
7.3.7 繪制速度向量圖和向量場圖
7.3.8 繪制直方圖和餅圖
7.3.9 繪制填充圖和偽彩色圖
7.3.10 繪制火柴桿圖和階梯圖
7.3.11 繪制極坐標(biāo)圖和對數(shù)坐標(biāo)圖
7.3.12 ezplot和fplot繪圖
7.4 三維繪圖命令
7.4.1 派生的三維繪圖命令
7.4.2 mesh三維網(wǎng)格繪圖
7.4.3 surf三維曲面繪圖
7.4.4 標(biāo)準(zhǔn)三維曲面命令
7.5 三維繪圖的修飾
7.5.1 改變視角
7.5.2 設(shè)置光源
7.5.3 設(shè)置色圖
第8章 圖形用戶界面的設(shè)計(jì)與實(shí)現(xiàn)
8.1 圖形對象基礎(chǔ)
8.1.1 圖形對象
8.1.2 圖形對象句柄
8.1.3 圖形對象屬性的獲取與設(shè)置
8.2 GUI基礎(chǔ)
8.2.1 啟動
8.2.2 Layout編輯器
8.2.3 保存并運(yùn)行
8.3 設(shè)計(jì)GUI:曲線繪制及屬性修改系統(tǒng)
8.3.1 任務(wù)1-1:使用菜單編輯器進(jìn)行GUI設(shè)計(jì)
8.3.2 任務(wù)1-2:為設(shè)計(jì)好的GUI編寫回調(diào)函數(shù)
8.3.3 任務(wù)1-3:使用文本框、編輯框和按鈕實(shí)現(xiàn)用戶輸入?yún)?shù)
8.3.4 任務(wù)1-4:使用Slider實(shí)現(xiàn)用戶輸入?yún)?shù)
8.3.5 任務(wù)1-5:在不同的坐標(biāo)軸上繪圖
8.3.6 任務(wù)1-6:利用Check Box控件實(shí)現(xiàn)加網(wǎng)格和去邊框功能
8.4 設(shè)計(jì)GUI:學(xué)生成績查詢系統(tǒng)
8.4.1 MATLAB預(yù)定義的對話框
8.4.2 任務(wù)2-1:使用uigetfile獲取學(xué)生成績表的路徑和文件名
8.4.3 任務(wù)2-2:使用Listbox顯示學(xué)生姓名
8.4.4 任務(wù)2-3:使用Pop-up Menu顯示課程名單
8.4.5 任務(wù)2-4:從列表框中選擇要查看的學(xué)生姓名
8.4.6 任務(wù)2-5:在表控件中顯示查詢結(jié)果
8.4.7 任務(wù)2-6:使用圖標(biāo)設(shè)計(jì)器設(shè)計(jì)圖標(biāo)
8.4.8 任務(wù)2-7:使用工具欄實(shí)現(xiàn)保存文件功能
8.5 設(shè)計(jì)GUI:使用ActiveX控件
第9章 Simulink概述
9.1 啟動Simulink
9.2 模型窗口介紹
9.3 建立模型
9.3.1 選擇模塊
9.3.2 模塊的操作
9.3.3 信號線的操作
9.3.4 對模型進(jìn)行注釋
9.3.5 模型的縮放
9.4 運(yùn)行模型
9.5 查看仿真結(jié)果
9.5.1 示波器參數(shù)的設(shè)置
9.5.2 信號的組合
9.6 向量和矩陣
9.7 保存和打開已有模型
9.8 處理大的模型
9.9 常用的仿真參數(shù)配置
9.9.1 Solver求解器
9.9.2 Solver選項(xiàng)卡的參數(shù)設(shè)置
9.9.3 Data Import/Export選項(xiàng)卡的參數(shù)設(shè)置
9.9.4 Optimization選項(xiàng)卡的參數(shù)設(shè)置
9.9.5 Diagnostics選項(xiàng)卡的參數(shù)設(shè)置
第10章 常用模塊庫及數(shù)據(jù)的導(dǎo)入導(dǎo)出
10.1 Simulink基本庫簡介
10.2 Sources信源庫與外部數(shù)據(jù)的導(dǎo)入
10.2.1 Sources信源庫介紹
10.2.2 外部數(shù)據(jù)的導(dǎo)入
10.2.3 從工作區(qū)導(dǎo)入模塊參數(shù)
10.3 Sinks信宿庫與仿真數(shù)據(jù)的導(dǎo)出
10.3.1 Sinks信宿庫介紹
10.3.2 Floating Scope懸浮示波器
10.3.3 仿真數(shù)據(jù)的導(dǎo)出
10.4 User-Defined Functions庫
第11章 動態(tài)系統(tǒng)的仿真與分析
11.1 連續(xù)系統(tǒng)
11.1.1 連續(xù)模塊庫介紹
11.1.2 Integrator積分器
11.1.3 采用積分器進(jìn)行連續(xù)系統(tǒng)的仿真
11.1.4 采用傳遞函數(shù)進(jìn)行連續(xù)系統(tǒng)的仿真
11.1.5 采用零-極點(diǎn)模塊進(jìn)行連續(xù)系統(tǒng)的仿真
11.1.6 采用狀態(tài)方程進(jìn)行連續(xù)系統(tǒng)的仿真
11.1.7 4種連續(xù)系統(tǒng)仿真方法的比較
11.2 離散系統(tǒng)
11.2.1 離散模塊庫介紹
11.2.2 Unit Delay單位延遲模塊
11.2.3 采用Unit Delay進(jìn)行離散系統(tǒng)的仿真
11.2.4 采用傳遞函數(shù)進(jìn)行離散系統(tǒng)的仿真
11.2.5 采用狀態(tài)空間進(jìn)行離散系統(tǒng)的仿真
11.2.6 零階保持器
11.2.7 多速率的離散系統(tǒng)
11.3 命令行仿真
11.3.1 使用sim命令對系統(tǒng)進(jìn)行仿真
11.3.2 獲取和設(shè)置仿真參數(shù)
11.3.3 確定模型的狀態(tài)
11.3.4 尋找模型的平衡點(diǎn)
11.3.5 模型的線性化
第12章 子系統(tǒng)
12.1 子系統(tǒng)的建立與基本操作
12.1.1 建立子系統(tǒng)
12.1.2 子系統(tǒng)的基本操作
12.2 封裝子系統(tǒng)
12.2.1 封裝子系統(tǒng)
12.2.2 使用封裝子系統(tǒng)
12.2.3 修改封裝子系統(tǒng)
12.3 模塊庫技術(shù)
12.3.1 建立模塊庫
12.3.2 庫模塊與引用塊的關(guān)聯(lián)
12.3.3 在庫瀏覽器中加入自建模塊庫
12.4 Simulink自帶的子系統(tǒng)模塊庫
12.4.1 Enable使能子系統(tǒng)
12.4.2 Trigger觸發(fā)子系統(tǒng)
12.4.3 觸發(fā)使能子系統(tǒng)
12.4.4 Switch Case子系統(tǒng)和Switch Case Action Subsystem子系統(tǒng)
12.4.5 If系統(tǒng)和If Action Subsystem子系統(tǒng)