計算機仿真技術類課程是電子信息類專業的一門主干課程。根據高等學校電子信息類專業發展與教學改革的需要,為構建“課程設置合理、內容先進、體系科學”的電子信息類專業課程體系,對本教材進行了編寫。本次編寫在對電子信息類專業課程體系和教學內容進行深入研究的基礎上,充分考慮電子信息類專業教學計劃的需要,能滿足多學科交叉背景學生的教學需求,體現寬口徑專業教育思想,反映先進的技術水平,強調教學實踐的重要性,有利于學生自主學習和動手實踐能力的培養。本教材適應新形式下計算機仿真技術類課程教學,并適用于不同層次院校的選學需要,同時也符合電子信息類專業培養目標、反映電子信息類專業教育改革方向、滿足電子信息類專業教學需要。
本書在敘述MATLAB通用功能時,對內容是精心挑選的,但在書后的索引中羅列了通用功能的幾乎全部指令,以備讀者查閱需要。面對MATLAB 6.x/7.x/8.x/9.x部分功能的較大變化,本書饌寫了MATLAB 6.x/7.x和MATLAB 8.x/9.x幾種不同經典版本的內容,以滿足不同讀者的需求。因為隨著MATLAB的迅速變化,盡管目前最新版本MATLAB 9.x與版本MATLAB 7.5(R2007b)相比,其內容急劇擴充,但就本教材所涉及的內容而言,它們并無本質變化。另外,最新版本安裝程序大,且運行速度慢,尤其是啟動初始化時特慢。而MATLAB 6.5占用空間小,啟動速度快,運行時間短,且功能已滿足一般使用者和教學大綱的要求,故它仍為當前較為流行的教學版本。
本教材適用學時數為32~48(2~3學分),各章節編排具有相對的獨立性,便于教師與學生取舍,便于不同層次院校的不同專業選用,以適應不同教學學時的需要。教材內容完善、新穎、有利于學生能力的培養。
本書由李國勇主編,李鴻燕副主編。全書共包括9章和2個附錄,其中第1章由張立毅編寫;第2章由馮明源編寫;第3章由孫云山編寫;第4章由李靜編寫; 第5章由李彥民編寫;第6章由李國勇編寫;第7章由李鴻燕編寫;第8章由史健芳編寫;第9章由趙哲峰編寫;附錄A由鄭秀萍編寫;附錄B由鄭晉平編寫。全書由李國勇教授整理定稿。李虹教授主審了全書,提出了許多寶貴的意見和建議,在此深表謝意。
本書可作為高等院校電子信息類專業本科生和研究生教材。鑒于本書的通用性和實用性較強,故也可作為從事信息處理及相關專業的教學、研究、設計人員和工程技術人員的參考用書。
由于作者水平有限,書中仍難免有遺漏與不當之處,故懇請有關專家、同行和廣大讀者批評指正。
第1章 MATLAB語言簡介 (1)
1.1 MATLAB的功能特點 (1)
1.2 MATLAB的操作界面 (3)
1.3 MATLAB的工作窗口 (4)
1.4 MATLAB的文件管理 (4)
1.5 MATLAB的幫助系統 (6)
小結 (8)
思考題 (8)
第2章 MATLAB基本操作 (9)
2.1 MATLAB的語言結構 (9)
2.2 MATLAB的窗口命令 (10)
2.2.1 窗口命令的執行及回調 (10)
2.2.2 窗口變量的處理 (11)
2.2.3 窗口命令的屬性 (12)
2.2.4 數值結果顯示格式 (13)
2.2.5 基本輸入輸出函數 (13)
2.2.6 外部程序調用 (14)
2.3 MATLAB的數值運算 (15)
2.3.1 矩陣運算 (15)
2.3.2 向量運算 (20)
2.3.3 關系和邏輯運算 (22)
2.3.4 多項式運算 (23)
2.4 MATLAB的符號運算 (25)
2.4.1 符號表達式的生成 (26)
2.4.2 符號表達式的基本運算 (27)
2.4.3 符號表達式的微積分 (29)
2.4.4 符號表達式的積分變換 (32)
2.4.5 符號表達式的求解 (33)
小結 (35)
習題 (35)
第3章 MATLAB圖形處理 (37)
3.1 二維圖形 (37)
3.1.1 二維圖形的繪制 (37)
3.1.2 二維圖形的修飾 (39)
3.1.3 二維特殊圖形 (40)
3.1.4 二維函數圖形 (41)
3.2 三維圖形 (42)
3.2.1 三維圖形的繪制 (43)
3.2.2 三維圖形的修飾 (44)
3.2.3 三維特殊圖形 (47)
3.2.4 三維函數圖形 (47)
3.3 四維圖形 (48)
3.4 圖像與動畫 (49)
3.4.1 圖像處理 (49)
3.4.2 聲音處理 (51)
3.4.3 動畫處理 (52)
小結 (53)
習題 (53)
第4章 MATLAB程序設計 (54)
4.1 MATLAB的M文件 (54)
4.1.1 文本文件 (54)
4.1.2 函數文件 (55)
4.2 MATLAB的程序結構 (56)
4.2.1 循環語句 (56)
4.2.2 控制語句 (57)
4.2.3 轉移語句 (58)
小結 (60)
習題 (60)
第5章 MATLAB高級操作 (61)
5.1 MATLAB的矩陣處理 (61)
5.1.1 矩陣行列式 (61)
5.1.2 矩陣的特殊值 (61)
5.1.3 矩陣的三角分解 (62)
5.1.4 矩陣的奇異值分解 (63)
5.1.5 矩陣的范數 (64)
5.1.6 矩陣的特征值與特征向量 (64)
5.1.7 矩陣的特征多項式、特征方程和特征根 (65)
5.2 MATLAB的數據處理 (65)
5.2.1 數據插值 (66)
5.2.2 曲線擬合 (67)
5.2.3 數據分析 (68)
5.3 MATLAB的方程求解 (70)
5.3.1 代數方程求解 (70)
5.3.2 微分方程求解 (72)
5.4 MATLAB的函數運算 (73)
5.4.1 函數極值 (73)
5.4.2 函數積分 (74)
5.5 MATLAB的文件I/O (75)
5.5.1 處理二進制文件 (76)
5.5.2 處理文本文件 (78)
5.6 MATLAB的圖形界面 (80)
5.6.1 啟動GUI Builder (80)
5.6.2 對象設計編輯器 (81)
5.7 MATLAB編譯器 (81)
5.7.1 創建MEX文件 (82)
5.7.2 創建EXE文件 (84)
小結 (85)
習題 (85)
第6章 Simulink動態仿真集成環境 (87)
6.1 Simulink簡介 (87)
6.1.1 Simulink的啟動 (87)
6.1.2 Simulink庫瀏覽窗口的功能菜單 (87)
6.1.3 仿真模塊集 (88)
6.2 模型的構造 (106)
6.2.1 模型編輯窗口 (106)
6.2.2 對象的選定 (109)
6.2.3 模塊的操作 (109)
6.2.4 模塊間的連接線 (110)
6.2.5 模型的保存 (111)
6.2.6 模塊名字的處理 (111)
6.2.7 模塊內部參數的修改 (112)
6.2.8 模塊的標量擴展 (113)
6.3 連續系統的數字仿真 (113)
6.3.1 利用Simulink菜單命令進行仿真 (113)
6.3.2 利用MATLAB指令操作方式進行仿真 (123)
6.3.3 模塊參數的動態交換 (125)
6.3.4 Simulink調試器 (127)
6.4 離散系統的數字仿真 (128)
6.5 仿真系統的線性化模型 (130)
6.6 創建子系統 (132)
6.7 封裝編輯器 (134)
6.7.1 參數(Parameters)頁面 (135)
6.7.2 圖標(Icon)頁面 (136)
6.7.3 初始化(Initialization)頁面 (138)
6.7.4 描述(Documentation)頁面 (138)
6.7.5 功能按鈕 (138)
6.8 條件子系統 (140)
小結 (145)
習題 (145)
第7章 MATLAB在圖像增強中的應用 (147)
7.1 MATLAB圖像文件格式與類型 (147)
7.1.1 數字圖像文件格式 (147)
7.1.2 圖像數據類型 (148)
7.1.3 圖像類型 (150)
7.2 空域圖像增強 (155)
7.2.1 圖像算術增強 (155)
7.2.2 圖像灰度變換 (158)
7.2.3 直方圖增強 (160)
7.2.4 空域濾波 (165)
7.3 變換域圖像增強 (173)
7.3.1 離散傅里葉變換 (173)
7.3.2 頻域濾波 (175)
7.3.3 離散余弦變換 (178)
7.3.4 離散小波變換 (181)
7.4 圖像質量評價 (186)
7.5 基于MATLAB工具箱的圖像采集與處理 (187)
小結 (188)
習題 (188)
第8章 MATLAB在信號與系統中的應用 (189)
8.1 離散時間信號 (189)
8.1.1 離散時間信號表示 (189)
8.1.2 典型離散時間信號 (190)
8.1.3 離散時間信號的運算 (194)
8.2 連續時間信號 (197)
8.2.1 連續時間信號表示 (197)
8.2.2 典型連續時間信號 (198)
8.3 隨機信號 (200)
8.3.1 隨機變量 (200)
8.3.2 隨機信號及其特征描述 (202)
8.4 信號變換 (204)
8.4.1 z變換 (205)
8.4.2 傅里葉變換 (208)
8.4.3 離散余弦變換 (212)
8.5 基于MATLAB工具箱的信號處理 (213)
8.5.1 濾波器設計與分析工具 (213)
8.5.2 信號處理工具 (214)
8.5.3 窗口設計與分析工具 (214)
小結 (215)
習題 (215)
第9章 MATLAB在通信系統中的應用 (216)
9.1 信源及其編譯碼 (216)
9.1.1 基本信號發生器 (216)
9.1.2 信源編碼 (217)
9.2 差錯控制編譯碼 (225)
9.2.1 差錯控制方式 (226)
9.2.2 分組碼 (227)
9.3 調制與解調 (233)
9.3.1 模擬調制與解調 (233)
9.3.2 數字調制與解調 (237)
9.4 基于MATLAB工具箱的數據通信 (250)
小結 (251)
習題 (251)
附錄A MATLAB函數一覽表 (252)
附錄B MATLAB函數分類索引 (263)
參考文獻 (269)