MATLAB 7.X程序設計
-
【作 者】王建衛 等編著
【I S B N 】978-7-5084-4678-3
【責任編輯】陳潔
【適用讀者群】本科
【出版時間】2007-09-01
【開 本】16開本
【裝幀信息】平裝(光膜)
【版 次】第1版
【頁 數】272
【千字數】
【印 張】
【定 價】¥26
【叢 書】21世紀高等院校計算機系列教材
【備注信息】
簡介
本書特色
前言
章節列表
精彩閱讀
下載資源
相關圖書
MATLAB既是編程語言,也是軟件環境,因此學習MATLAB既要注重編程能力的培養,也要提高軟件應用的能力。
本書以MATLAB 7.0版為基礎,主要從數據類型、流程控制語句、數值計算、符號計算、繪圖、Simulink仿真和Notebook的使用等幾個方面介紹常用函數的應用以及MATLAB語言程序設計的方法。書中針對MATLAB函數多、難記憶的特點,在每章后有大量的習題供選擇使用或上機實驗,以加強記憶和理解。附錄列出了基本部分所有函數庫中的函數列表,供初學 者查閱使用。
本書體系清晰,注重實用,適合作為高校理工科專業本科生、研究生學習的教材,也可供廣大科技工作者閱讀使用。
MATLAB是美國Mathworks公司推出的用于科學計算和圖形處理的可編程軟件系統。自1984年MATLAB 1.0版推向市場以來,先后經歷了DOS版和Windows版兩個發展階段,隨著其功能的不斷加強而得到了廣泛的應用,目前已成為理工科類學生及科技工作者必須掌握的重要基本技能之一。2004年Mathworks公司推出了全新的MATLAB 7.0版(Release 14),新版本在保持原有風貌的基礎上對已有的功能進行了加強和擴充,仍包括基本和專業擴展兩部分。其中基本部分有28個函數庫,常用的函數約1200多個;專業擴展部分為用MATLAB基本語句編寫而成的各種子程序集,用于解決某一專業方面的問題。
本書是作者根據自己多年從事MATLAB課程的理論教學和實踐教學的經驗,針對MATLAB程序設計的具體特點而編寫的。為了適應教學的實際需要,對書中的內容和組織結構進行了編排,突出了以下幾個方面:
(1)掌握編程原理和提高應用軟件能力并重。MATLAB既是一種編程語言,又是軟件環境,因此學習MATLAB既要培養編程能力,也要提高軟件應用能力。本書以MATLAB 7.0版為基礎,本著提高應用英文軟件能力、理解MATLAB編程思想的目的,重點講述MATLAB編程的基本原理。
(2)突出計算功能和繪圖功能。MATLAB以其強大的計算功能而著稱,因此書中的章節安排以MATLAB的功能為主線,在介紹了數據類型和基本編程語句后,重點介紹數值計算、符號計算和計算可視化的實現。
(3)講解必要的函數。由于MATLAB的函數眾多,本書不可能介紹各個函數庫中的所有函數,因此為初學者有選擇、有針對性地介紹哪些函數就成為必須首要考慮的問題。本書主要以高等數學和線性代數課程為基礎介紹相應函數庫中的常用函數,所涉及的函數庫有20個左右,函數有800個左右,重點講授的函數有400個左右。
(4)提高函數的應用能力。靈活應用函數是編寫MATLAB程序的難點,而有些函數看似簡單,但應用起來并非如此,這也是初學者的障礙。因此本書為啟發初學者的思路選取了一些典型數學問題,用不同的函數編寫不同思路的程序來實現,從而達到開闊思路、拓展思維的目的。
全書分為7個部分:概述部分主要簡單介紹MATLAB的特點及軟件環境;數據類型部分在介紹數組、子數組的概念基礎上,定義了數組和矩陣的運算,并介紹了稀疏數組、字符數組、元胞數組和構架數組等特殊的數據類型,這一部分是全書的基礎;程序設計部分介紹M文件的編寫語句和編寫、執行過程;數值計算和符號計算部分采用對照編寫的方法與高等數學、線性代數相聯系,介紹計算過程,真正做到數學實驗室的作用,這一部分是全書的重點之一;繪圖部分包括高層的二維、三維繪圖函數和圖形的輔助操作命令以及句柄圖形、圖形用戶界面的設計,這一部分也是全書的重點之一;Simulink仿真環境部分簡單介紹了常用模塊、模型建立和仿真過程;Notebook部分介紹在Word中使用MATLAB的方法。
本書可作為高校理工科專業本科生、研究生學習的教材,也可供科研工作者閱讀使用。本書配有免費電子教案,讀者可從中國水利水電出版社網站(www.waterpub.com.cn/softdown)下載。
本書主要由王建衛、曲中水和凌濱編著,參加本書編寫的還有韓勁松、高峻、曹樹佳、王松濤。其中王建衛編寫了第3章(3.3、3.4、3.5、3.6、3.7)、第4章、第5章(5.1、5.2、5.3、5.4、5.5、5.6)和附錄A,以及全書內容的規劃;曲中水編寫了第2章(2.1、2.2、2.3、2.4)、第6章和附錄B,以及全書內容的規劃;韓勁松編寫了第2章(2.5、2.6、2.7、2.8);凌濱編寫了第3章(3.1、3.2)和第7章;曹樹佳編寫了第1章、第5章(5.7);高峻編寫了第8章。曹樹佳和王松濤還參與了編輯加工工作,并校對了全書。
在本書的編寫過程中,編者力求內容準確、舉例具體,但由于水平有限,書中不妥或錯誤之處在所難免,敬請讀者與編者聯系(jwwang2007@163.com)并批評指正。
編 者
2007年3月
第1章 MATLAB概述 1
1.1 MATLAB的發展歷程和特點 1
1.1.1 MATLAB的發展歷程 1
1.1.2 MATLAB的特點 2
1.2 MATLAB的安裝與啟動 2
1.2.1 MATLAB的安裝 2
1.2.2 啟動與退出MATLAB系統 4
1.3 MATLAB的工作環境 5
1.3.1 命令窗口 5
1.3.2 M文件編輯/調試窗口 5
1.3.3 圖形窗口 6
1.3.4 工作空間窗口 7
1.3.5 歷史命令窗口 7
1.3.6 MATLAB幫助系統 8
1.3.7 MATLAB搜索路徑 10
習題 12
第2章 MATLAB運算基礎 13
2.1 概述 13
2.1.1 數據術語 13
2.1.2 數據類型 13
2.2 變量 14
2.2.1 變量的命名 14
2.2.2 變量的賦值 14
2.2.3 特殊變量 15
2.2.4 內存變量的管理 15
2.3 數值數組 17
2.3.1 數值數組的建立 17
2.3.2 數組元素的標識 24
2.3.3 子數組 25
2.3.4 數組的賦值 27
2.3.5 數組元素的刪除 28
2.3.6 多維數組 28
2.4 稀疏數組 31
2.4.1 數組元素的存儲 31
2.4.2 稀疏數組的建立 32
2.5 矩陣和數組的運算 34
2.5.1 矩陣和數組的算術運算 34
2.5.2 矩陣和數組的乘方運算 37
2.5.3 矩陣和數組的數學函數 37
2.6 字符串 40
2.6.1 字符串的定義 40
2.6.2 字符串的連接和替換 40
2.6.3 字符串比較函數 41
2.6.4 字符串轉換函數 42
2.7 元胞數組 43
2.7.1 元胞數組的建立 43
2.7.2 轉換函數 45
2.7.3 元胞數組的使用 46
2.8 構架數組 47
2.8.1 構架數組的建立 47
2.8.2 域的增加和刪除 49
2.8.3 構架數組元素的引用 50
2.8.4 域值操作函數 51
2.8.5 構架數組的嵌套 52
習題 53
第3章 MATLAB程序設計 55
3.1 關系運算 55
3.1.1 概述 55
3.1.2 關系運算符 55
3.1.3 關系運算規則 55
3.1.4 關系運算的應用 56
3.2 邏輯運算 58
3.2.1 邏輯運算符和運算法則 58
3.2.2 邏輯函數 59
3.2.3 運算符優先級 61
3.3 M文件 62
3.3.1 M文件概述 62
3.3.2 M文件的建立 62
3.4 分支語句 63
3.4.1 If結構 63
3.4.2 switch-case結構 64
3.4.3 try-catch結構 66
3.5 循環語句 67
3.5.1 while循環 67
3.5.2 for循環 68
3.5.3 循環程序的等價形式 71
3.6 函數文件 73
3.6.1 函數文件的格式 73
3.6.2 全局變量和臨時變量 75
3.6.3 函數文件的應用 76
3.7 MATLAB 文件處理 77
3.7.1 MATLAB 文件處理簡介 77
3.7.2 數據文件的分類 77
3.7.3 文件打開和關閉 77
3.7.4 二進制I/O函數 78
3.7.5 格式化I/O函數 79
3.7.6 文件位置和狀態函數 80
習題 81
第4章 數值計算 83
4.1 概述 83
4.2 數據分析 83
4.2.1 統計分析 83
4.2.2 協方差和相關系數 90
4.2.3 傅里葉變換 91
4.3 矩陣操作 91
4.3.1 矩陣的結構變換 91
4.3.2 矩陣分析 96
4.3.3 矩陣的特征值分析 106
4.3.4 矩陣的分解 107
4.4 多項式函數 111
4.4.1 多項式的表示 111
4.4.2 多項式的算術運算 111
4.4.3 導函數 112
4.4.4 多項式求根 113
4.4.5 多項式估值 114
4.4.6 部分分式函數 116
4.4.7 多項式積分 116
4.5 插值和擬合 117
4.5.1 數值插值 117
4.5.2 數據擬合 118
4.6 數值微分與積分 119
4.6.1 差分 119
4.6.2 數值積分 120
習題 122
第5章 符號計算 125
5.1 符號計算基礎 125
5.1.1 概述 125
5.1.2 創建符號常量 125
5.1.3 創建符號變量 126
5.2 符號表達式的基本操作 127
5.2.1 符號表達式的基本運算 127
5.2.2 符號數值精度控制 130
5.2.3 符號對象轉換為數值對象 130
5.2.4 自由變量的確定 131
5.2.5 變量置換 131
5.2.6 反函數和復合函數 132
5.3 符號多項式函數 133
5.3.1 合并同類項 133
5.3.2 因式分解 135
5.3.3 分子、分母的提取 136
5.3.4 化簡 137
5.3.5 展開 138
5.4 符號微積分 139
5.4.1 符號極限 139
5.4.2 符號微分 140
5.4.3 符號積分 145
5.5 積分變換 148
5.5.1 符號卷積 148
5.5.2 傅里葉變換及其反變換 149
5.5.3 拉普拉斯變換及其反變換 149
5.5.4 Z變換及其反變換 150
5.6 解方程 151
5.6.1 符號代數方程的求解 151
5.6.2 符號微分方程的求解 153
5.7 可視化數學分析界面 155
5.7.1 單變量函數分析工具 155
5.7.2 泰勒級數 156
習題 157
第6章 MATLAB繪圖 160
6.1 二維繪圖 160
6.1.1 直角坐標系的二維圖形 160
6.1.2 繪制圖形的輔助操作 162
6.1.3 plotyy函數 166
6.1.4 極坐標系繪圖 167
6.1.5 對數坐標繪圖 169
6.1.6 隱函數繪圖 171
6.2 特殊二維圖形的繪制 175
6.2.1 直方圖 175
6.2.2 餅圖 175
6.2.3 離散桿狀圖 176
6.2.4 階梯狀圖 176
6.2.5 射線圖 177
6.2.6 誤差條形圖 178
6.2.7 彗星圖 179
6.2.8 圓形圖 179
6.3 三維繪圖 180
6.3.1 三維曲線 180
6.3.2 三維曲面 182
6.3.3 色彩處理 186
6.3.4 圖像的讀寫和動畫處理 188
6.3.5 特殊三維圖形的繪制 189
6.4 句柄圖形 192
6.4.1 句柄圖形體系 192
6.4.2 圖形對象的建立 192
6.4.3 對象句柄的獲取方法 196
6.4.4 對象屬性的獲取和設置 197
6.5 圖形用戶界面 198
6.5.1 圖形用戶界面對象層次結構 198
6.5.2 用戶菜單 198
6.5.3 對話框 200
6.5.4 用戶控件 203
6.6 圖形用戶界面設計工具 204
6.6.1 圖形用戶界面設計工具的啟動 204
6.6.2 圖形用戶界面設計窗口的組成 205
習題 209
第7章 Simulink仿真環境 211
7.1 Simulink的啟動與退出 211
7.1.1 Simulink簡介 211
7.1.2 Simulink的啟動和模型編輯窗口 211
7.1.3 Simulink的文件操作 213
7.1.4 Simulink的退出 213
7.2 Simulink的基本模塊 214
7.2.1 基本模塊庫 214
7.2.2 常用模塊的參數設置 216
7.3 模型文件的創建 217
7.3.1 模塊的操作 217
7.3.2 信號線的操作 218
7.3.3 創建模型文件 219
7.4 子系統 221
7.4.1 子系統建立的方法 221
7.4.2 子系統的封裝 221
7.4.3 條件執行子系統 224
7.5 通過命令窗口創建Simulink模型 224
7.5.1 Simulink模型文件操作命令 224
7.5.2 Simulink模型文件編輯命令 225
習題 225
第8章 Notebook 227
8.1 Notebook的安裝與啟動 227
8.1.1 Notebook的安裝 227
8.1.2 Notebook的啟動 228
8.1.3 M-book模板的界面 229
8.1.4 Notebook的單元樣式 229
8.2 Notebook的使用 230
8.2.1 輸入單元 230
8.2.2 自動初始化單元 231
8.2.3 單元組 232
8.2.4 輸出單元的設置 233
8.2.5 計算區 235
8.2.6 運行方法 236
習題 237
附錄A 實驗 238
附錄B 函數庫 243
參考文獻