評論(0

MATLAB2008全程指南

標籤: 暫無標籤

  
MATLAB2008全程指南

1 MATLAB2008全程指南 -圖書信息

  作 者:董辰輝 彭雪峰 等編著

  出 版 社: 電子工業出版社

  出版時間: 2009-3-1

  頁 數:576頁

  開 本: 16開

  ISBN 9787121080197

  分類: 圖書>> 計算機/電子技術>>MATLAB

  定價:¥65.00元(含光碟1張)

2 MATLAB2008全程指南 -宣傳語

  1、 知識全面,實例精彩,指導性強

  基礎知識、開發進階、行業應用、程序介面,循序漸進地全面講解MATLAB的方方面面。

  2、 用實例說話,講解詳細,通俗易懂

  全書包括300多個實例,理論聯繫實際,語言簡潔易懂,知識點分類明確。

3 MATLAB2008全程指南 -內 容 簡 介

  MATLAB是由MathWorks公司推出的用於數值計算、圖像處理、信號處理、自動控制和數據分析等諸多方面的科學計算軟體。本書由入門到提高系統地介紹了MATLAB及其工具箱的基本功能與使用,包括MATLAB基礎知識、數值計算、符號計算、編程基礎、文件操作、數據可視化、圖像處理、優化工具箱、信號處理、Simulink模擬、GUI設計、MATLAB與Microsoft Office和混合編程等功能的使用方法。在配套光碟中附有部分實例的源文件,以方便讀者理解和掌握相關知識。

  全書包含了378個計算實例,所有的實例都經過上機調試,可靠完整。讀者可以在自己的MATLAB環境中準確地重現本書所提供的實例結果。

  本書既可以作為理工科院校研究生、本科生系統學習的教材,又可以作為廣大科技工作者對MATLAB軟體入門到提高的自學用書和使用手冊。

4 MATLAB2008全程指南 -前 言

  1984年,Cleve Moler和John Little成立了MathWorks公司,發行了MATLAB第1版(DOS版本1.0),正式把MATLAB推向市場。MATLAB的第一個商業化的版本是同年推出的是3.0的DOS版本。其後MathWorks公司繼續進行MATLAB的研究和開發,逐步將其發展成為一個集數值處理、圖形處理、圖像處理、符號計算、文字處理、數學建模、實時控制、動態模擬、信號處理為一體的數學應用軟體,並且成為目前世界上使用最廣泛的科學計算軟體之一。

  2006年3月,MathWorks公司正式發布了MATLABR2006a(即MATLAB7.2版)。從這一個版本開始,MathWorks公司將每年進行兩次產品發布,時間分別在每年的3月和9月,而且,每一次發布都會包含所有的產品模塊,如產品的newfeature、bugfixes和新產品模塊的推出。2008年3月1日,MATLABR2008a發布,即MATLAB7.6版和Simulink7.1版。在這個版本中包括了以下重要更新:

  (1)完全實現面向對象編程。

  在MATLAB的早期版本裡面,也有class的概念,不過功能不強,過程煩瑣。而新的設計寫出來的類和在python裡面寫的看起來差不多,吸收了Python和C#的優點,除了支持封裝(encapsulation),繼承(inheritance)和多態(polymorphism)這些基本特性以外,還支持了一些新興的特性,包括屬性(property),事件(event)和靜態方法(static method)。

  (2)支持Handle類型——用另外一種說法,就是支持函數調用傳引用。

  以前MATLAB傳遞參數只有一種方法,copy on write。就是說,當你傳一個東西進去,如果它要發生改變,那麼,這個東西會整個copy一份,然後修改會在副本上生效。這使得實現動態數據結構變得非常困難。因此,傳統上MATLAB擅長於以矩陣為基礎的演算法,但是對於以經典動態數據結構為基礎的演算法,比如動態列表,哈希表,搜索樹,圖等,就力不從心了。這個新版本終於引入了對引用的支持,這將使MATLAB實現經典數據結構和演算法變得前所未有的輕鬆。現在,數值和統計演算法與經典演算法越來越多地合流,很多應用都需要同時使用兩方面的演算法,MATLAB的這個變化正好適應了這種需求。

  (3)引入了名空間的管理。

  以前,MATLAB所有的函數都在同一個global的名空間下面。比如兩個工具包裡面出現了同名函數,解決起來很麻煩。比如現在有兩個演算法叫LDA,一個是latent Dirichlet Allocation,一個是Linear Discriminant Analysis,在一個應用中需要同時用到兩個演算法,而寫這兩個演算法的人各自把它們命名為lda.m,那麼問題就出來了。一種naive的方法是改名字,不過會直接破壞掉那些toolbox裡面對那個函數的依賴。而這個版本,它借鑒其他高級語言的經驗,終於引入了namespace,給這個問題一個很好的解決。

  從這些特點看來,MATLAB這個版本的重要改變,就是全面吸收其他高級語言的特性,從一個數值運算語言開始邁向一個以數值計算為強項的通用語言,以應對複雜或者更大規模應用的需要。

  本書內容

  本書從使用者的角度出發,通過融經驗技巧於一體的典型事例講解,由入門到提高系統地介紹了MATLAB及其工具箱的基本功能與使用,包括MATLAB基礎知識、數值計算、符號計算、編程基礎、文件操作、數據可視化、圖像處理、優化工具箱、信號處理、Simulink模擬、GUI設計、MATLAB與MS OFFICE和混合編程等功能的使用方法。在配套光碟中附有部分實例的源文件,以方便讀者理解和掌握相關知識。以下是本書附贈資源介紹

  1.源文件的運行環境

  操作系統:Windows vista/Windows XP/Windows 2000

  開發工具:MATLAB R2008a

  2.源文件文件夾

  包括本書涉及的所有源文件,讀者可以在學習的過程中,直接將其複製到MATLAB的當前工作目錄下,提高學習效率。

  章 節 例題數量 章 節 例題數量

  第1章 MATLAB操作基礎 0 第8章 MATLAB在數字圖像處理中的應用 29

  第2章 數據結構與類型 55 第9章 MATLAB優化問題應用 23

  第3章 數值計算及數據分析 50 第10章 MATLAB在信號處理中的應用 18

  第4章 符號運算 52 第11章 Simulink模擬 10

  第5章 MATLAB編程基礎 56 第12章 圖形用戶界面GUI設計 3

  第6章 MATLAB文件操作 39 第13章 MATLAB與Office 5

  第7章 數據可視化 29 第14章 MATLAB應用程序介面 8

  聯繫我們

  全書第1、2、3、4章由彭雪峰負責編寫,第5、6、13章由王文鵬負責編寫,第7、8、12章由劉家佳負責編寫,第9、10、11、14章由董辰輝負責編寫。

  由於編者水平及使用經驗有限,不妥之處在所難免,望各位讀者不吝賜教。

  編 者

  2008年12月

5 MATLAB2008全程指南 -圖 書 目 錄

  第1篇 基礎知識

  第1章 MATLAB操作基礎 2

  1.1 MATLAB概述 3

  1.2 MATLAB發展歷史 3

  1.3 MATLAB主要功能 4

  1.4 MATLAB安裝 5

  1.5 MATLAB的啟動和退出 7

  1.5.1 MATLAB啟動 7

  1.5.2 MATLAB的退出 8

  1.6 MATLAB操作界面 8

  1.6.1 菜單欄 8

  1.6.2 工具欄 13

  1.6.3 命令窗口 13

  1.6.4 工作空間窗口 15

  1.6.5 當前目錄窗口 15

  1.6.6 歷史記錄窗口 17

  1.7 MATLAB聯機幫助系統 18

  1.7.1 聯機幫助系統 18

  1.7.2 命令窗口查詢幫助 19

  第2章 數據結構與類型 22

  2.1 常量與變數 23

  2.1.1 常量 23

  2.1.2 變數 24

  2.2 數組與矩陣 25

  2.2.1 數組 25

  2.2.2 矩陣 31

  2.3 邏輯類型與關係運算 36

  2.3.1 邏輯數據類型 37

  2.3.2 邏輯運算 38

  2.3.3 關係運算 39

  2.3.4 運算符優先順序 41

  2.4 字元串 41

  2.4.1 創建字元串 41

  2.4.2 類型轉換 43

  2.4.3 比較字元串 45

  2.4.4 字元分類 46

  2.4.5 查找與替換 46

  2.5 結構數組 47

  2.5.1 結構數組的創建 47

  2.5.2 結構數組中的數據獲取 49

  2.5.3 結構數組中的操作 50

  2.5.4 結構數組的大小 52

  2.5.5 結構數組的嵌套 53

  2.6 元胞數組 54

  2.6.1 元胞數組的創建 54

  2.6.2 元胞數組中的數據獲得 55

  2.6.3 元胞數組的刪除與重塑 57

  2.6.4 元胞數組中的操作函數 59

  2.6.5 元胞數組的嵌套 61

  2.6.6 元胞數組與數值數組間的轉化 62

  第3章 數值計算及數據分析 64

  3.1 因式分解 65

  3.1.1 行列式、逆和秩 65

  3.1.2 LU因式分解 67

  3.1.3 QR因式分解 69

  3.1.4 范數 70

  3.2 矩陣特徵值和奇異值 72

  3.2.1 特徵值和特徵向量的求取 72

  3.2.2 奇異值分解 74

  3.3 數據分析和統計 76

  3.3.1 基本的數據分析函數 76

  3.3.2 協方差和相關係數函數 82

  3.4 數值積分 83

  3.4.1 一元函數的數值積分 83

  3.4.2 二重積分的數值計算 85

  3.4.3 三重積分的數值計算 85

  3.5 插值 86

  3.5.1 一維數據插值 86

  3.5.2 二維數據插值 88

  3.5.3 多維插值 89

  3.6 多項式曲線擬合 90

  3.6.1 最小二乘原理及其曲線擬合演算法 90

  3.6.2 曲線擬合的實現 91

  3.7 傅里葉分析 92

  3.7.1 傅里葉變換 92

  3.7.2 快速傅里葉變換 93

  3.8 微分方程 96

  3.8.1 常微分方程 96

  3.8.2 偏微分方程 99

  3.9 稀疏矩陣 103

  3.9.1 稀疏矩陣的存儲方式 103

  3.9.2 稀疏矩陣的創建 103

  3.9.3 稀疏矩陣的函數處理 106

  3.9.4 稀疏矩陣的交換與重新排序 108

  第4章 符號運算 110

  4.1 符號變數、表達式及符號方程 111

  4.1.1 使用sym函數定義符號變數及表達式 111

  4.1.2 使用SYMS函數定義符號變數及表達式 112

  4.1.3 符號方程的生成 112

  4.2 符號變數的基本操作 112

  4.2.1 findsym函數 113

  4.2.2 任意精度確定的符號表達式 113

  4.2.3 數值型與符號型變數的轉換 114

  4.3 符號矩陣的生成和運算 115

  4.3.1 符號矩陣的生成 116

  4.3.2 符號矩陣及符號數組的運算 117

  4.4 符號微積分 122

  4.4.1 符號求極限 122

  4.4.2 符號求導與微分 123

  4.4.3 符號積分 124

  4.4.4 級數求和 125

  4.4.5 taylor級數 125

  4.5 符號函數圖形表示 126

  4.5.1 繪製符號函數的圖形 126

  4.5.2 三維參量曲線圖 127

  4.5.3 極坐標圖形 128

  4.5.4 符號函數的三維網格圖 128

  4.5.5 繪製符號函數等高線圖 129

  4.5.6 不同顏色填充等高線圖 130

  4.5.7 曲面網格圖與等高線圖的混合圖 131

  4.5.8 三維彩色曲面圖 132

  4.5.9 曲面圖與等高線圖的混合圖 133

  4.5.10 繪製函數圖形 134

  4.6 符號代數方程的求解 135

  4.6.1 求代數方程符號解 135

  4.6.2 求代數方程組符號解 136

  4.6.3 求微分方程符號解 138

  4.6.4 求微分方程組符號解 139

  4.7 符號表達式的基本運算 140

  4.7.1 符號表達式的提取分子、分母運算 140

  4.7.2 符號表達式的基本代數運算 141

  4.7.3 符號表達式的高級運算 141

  4.7.4 符號數值函數的創建 147

  第5章 MATLAB編程基礎 148

  5.1 M文件 149

  5.1.1 M文件編輯器 149

  5.1.2 M文件的基本內容 150

  5.1.3 腳本式M文件 152

  5.1.4 函數式M文件 153

  5.2 函數流程式控制制 154

  5.2.1 順序結構 154

  5.2.2 if…else…end 155

  5.2.3 switch…case…end 158

  5.2.4 for循環 159

  5.2.5 while循環 162

  5.2.6 人機交互命令 163

  5.3 函數的類型 168

  5.3.1 主函數 168

  5.3.2 子函數 168

  5.3.3 私有函數 170

  5.3.4 嵌套函數 171

  5.3.5 重載函數 177

  5.3.6 匿名函數 177

  5.4 函數的變數和參數 183

  5.4.1 變數類型 183

  5.4.2 變數的輸入輸出規則 184

  5.4.3 向嵌套函數輸入可選參數 187

  5.4.4 傳送特定類型的參數 189

  5.5 函數句柄 191

  5.5.1 函數句柄的創建 191

  5.5.2 函數句柄的調用 192

  5.5.3 函數句柄的操作 192

  5.6 內存的使用 194

  5.6.1 內存管理函數 194

  5.6.2 高效使用內存的策略 194

  5.6.3 解決「Out of Memory」錯誤 196

  5.7 程序調試和優化 196

  5.7.1 使用Debugger窗口進行調試 197

  5.7.2 在命令窗口中進行調試 202

  5.7.3 Profile性能檢測 205

  5.8 錯誤處理 209

  5.8.1 使用 try-catch語句捕捉錯誤 209

  5.8.2 處理錯誤和從錯誤中恢復 209

  5.8.3 警告 212

  5.9 程序開發的一些建議 215

  第2篇 開發進階

  第6章 MATLAB文件操作 218

  6.1 MATLAB支持的文件格式 219

  6.2 使用導入嚮導來導入文本數據 219

  6.3 使用導入函數來導入文本數據 222

  6.3.1 導入數值文本數據 223

  6.3.2 導入有分隔符的ASCII數據文件 224

  6.3.3 導入帶有文本頭的文件數據 225

  6.3.4 導入字母數值混合的數據 225

  6.4 按照ASCII碼格式導出數據 226

  6.4.1 將數據導出成帶有分隔符的ASCII

  6.4.1 碼文件 227

  6.4.2 使用diary命令來導出數據 228

  6.4.3 用csvwrite函數導出矩陣數據 229

  6.5 對mat文件的操作 229

  6.5.1 使用嚮導來導入mat文件中的數據 229

  6.5.2 使用函數或命令來預覽和導入mat文件

  6.4.1 中的數據 230

  6.6 將Workspace中數據導出為mat文件 231

  6.6.1 通過菜單將Workspace中數據導出

  6.4.1 為mat文件 232

  6.6.2 通過save命令導出Workspace中

  6.4.1 數據為mat文件 232

  6.7 對圖像文件的操作 234

  6.7.1 使用嚮導導入圖像文件 234

  6.7.2 讀入與導出圖像文件數據 234

  6.8 對音頻和視頻文件的操作 235

  6.8.1 利用嚮導打開音頻或視頻文件 235

  6.8.2 獲取音頻和視頻文件的文件頭信息 236

  6.8.3 音頻視頻文件的讀入與導出 236

  6.9 對錶文件的操作 239

  6.9.1 對Excel文檔的操作 239

  6.9.2 對Lotus 123數據表的操作 241

  6.10 使用低端I/O函數來操作文件 242

  6.10.1 文件的打開和關閉 242

  6.10.2 二進位數據的讀取 243

  6.10.3 二進位數據的寫入 245

  6.10.4 逐行讀取文本文件 245

  6.10.5 格式化讀取ASCII碼數據 246

  6.10.6 格式化寫入文本文件 247

  6.10.7 控制文件指針 248

  第7章 數據可視化 251

  7.1 二維圖形 252

  7.1.1 基本繪圖函數 252

  7.1.2 特殊二維圖形 257

  7.2 三維圖形 266

  7.2.1 繪製三維曲線圖 266

  7.2.2 繪製三維曲面圖 267

  7.2.3 特殊三維圖形 269

  7.3 圖形註釋 271

  7.3.1 圖形註釋方法 271

  7.3.2 圖題的標註 272

  7.3.3 添加坐標軸標註 273

  7.3.4 文本標註和互動式文本標註 274

  7.3.5 圖例的添加 275

  7.3.6 坐標網格的添加 276

  7.4 三維圖形的高級控制 277

  7.4.1 視點控制 277

  7.4.2 顏色的使用 278

  7.4.3 光照控制 280

  第3篇 行業應用

  第8章 MATLAB在數字圖像處理中的應用 282

  8.1 數字圖像處理學 283

  8.1.1 數字圖像處理內容 283

  8.1.2 數字圖像處理應用 283

  8.2 MATLAB圖像 285

  8.2.1 MATLAB圖像類型 285

  8.2.2 圖像格式 286

  8.3 圖像文件的操作 287

  8.3.1 查詢圖像文件的信息 287

  8.3.2 圖像文件的讀取 288

  8.3.3 圖像文件的顯示 289

  8.3.4 圖像文件的存儲 291

  8.3.5 圖像格式的轉換 291

  8.4 圖像的幾何運算 295

  8.4.1 圖像的平移 295

  8.4.2 圖像的鏡像變換 297

  8.4.3 圖像縮放 298

  8.4.4 圖像的旋轉 299

  8.4.5 圖像的剪切 301

  8.5 圖像的正交變換 302

  8.5.1 傅里葉變換 302

  8.5.2 離散餘弦變換 309

  8.5.3 沃爾什-哈達瑪變換(WHT) 312

  8.5.4 radon變換 317

  8.6 MATLAB圖像增強 319

  8.6.1 像素值及其統計特性 319

  8.6.2 對比度增強 322

  8.6.3 直方圖均衡化 324

  8.6.4 空域濾波增強 326

  8.6.5 頻域增強 331

  第9章 MATLAB優化問題應用 334

  9.1 MATLAB求解器 336

  9.2 求解極小值 336

  9.2.1 標量最小值優化 337

  9.2.2 無約束最小值優化 340

  9.2.3 線性規劃 345

  9.2.4 二次規劃 347

  9.2.5 約束最小值優化 350

  9.3 多目標優化 354

  9.3.1 fgoalattain函數 355

  9.3.2 fminimax函數 358

  9.4 方程組求解 360

  9.4.1 fzero函數 360

  9.4.2 fsolve函數 362

  9.5 最小二乘及數據擬合 365

  9.5.1 lsqnonneg函數 365

  9.5.2 lsqlin函數 367

  9.5.3 lsqnonlin函數 369

  9.5.4 lsqcurvefit函數 371

  9.6 直接搜索法 373

  9.7 模擬退火演算法 374

  9.7.1 模擬退火演算法簡介 374

  9.7.2 模擬退火演算法應用實例 376

  9.7.3 關於驗證計算 378

  9.8 遺傳演算法 379

  9.8.1 遺傳演算法簡介 379

  9.8.2 遺傳演算法應用實例 382

  9.9 optimtool簡介 384

  第10章 MATLAB在信號處理中的應用 389

  10.1 信號處理基本理論與MATLAB實現 390

  10.1.1 信號處理基本理論 390

  10.1.2 信號的產生 391

  10.1.3 離散信號的基本運算 394

  10.2 離散信號的數學變換和MATLAB

  10.2 實現 394

  10.2.1 Z變換分析 394

  10.2.2 Z變換MATLAB實現 395

  10.2.3 Fourier變換分析 397

  10.2.4 離散Fourier變換MATLAB實現 397

  10.3 數字濾波器的結構 399

  10.3.1 數字濾波器 399

  10.3.2 IIR數字濾波器的結構 400

  10.3.3 FIR數字濾波器的結構 402

  10.4 IIR濾波器的MATLAB實現 403

  10.4.1 IIR濾波器經典設計 404

  10.4.2 IIR濾波器的直接設計法 413

  10.4.3 廣義巴特沃思的IIR濾波器設計 414

  10.5 FIR濾波器的MATLAB實現 416

  10.5.1 FIR濾波器設計 416

  10.5.2 fir1函數 417

  10.5.3 fir2函數 419

  第11章 Simulink模擬 421

  11.1 Simulink簡介 422

  11.1.1 Simulink功能與特點 422

  11.1.2 Simulink的安裝 424

  11.1.3 Simulink 7.1新特點 424

  11.2 Simulink基礎 425

  11.2.1 Simulink模型是什麼 425

  11.2.2 Simulink啟動與窗口介紹 425

  11.2.3 Simulink模塊操作 427

  11.2.4 Simulink信號線操作 431

  11.2.5 Simulink對模型的註釋 432

  11.2.6 Simulink常用的模型庫 434

  11.2.7 Simulink模擬配置 436

  11.3 Simulink 動態系統模擬 445

  11.3.1 簡單系統的模擬分析 445

  11.3.2 離散系統的模擬分析 448

  11.3.3 連續系統的模擬分析 450

  11.4 Simulink模型中的子系統 454

  11.4.1 子系統的建立 454

  11.4.2 子系統的封裝 458

  11.5 Simulink S-函數 464

  11.5.1 什麼是S-函數 464

  11.5.2 S-函數的作用和原理 464

  11.5.3 用M文件表述的S-函數 466

  11.5.4 用M文件創建S-函數實例 470

  第12章 圖形用戶界面GUI設計 473

  12.1 句柄圖形對象 474

  12.1.1 圖形對象 474

  12.1.2 圖形對象句柄 474

  12.1.3 圖形對象屬性的獲取和設置 476

  12.2 GUI的基本知識 479

  12.2.1 啟動GUI 479

  12.2.2 布局(Layout)編輯器 479

  12.2.3 運行GUI 480

  12.3 創建GUI 480

  12.3.1 GUI窗口布局 480

  12.3.2 菜單的添加 482

  12.3.3 控制項 487

  12.4 GUI編程 492

  12.4.1 GUI的M文件 492

  12.4.2 GUI編程舉例 495

  第4篇 程序介面

  第13章 MATLAB與Office 500

  13.1 MATLAB與Word 501

  13.1.1 Notebook的安裝 501

  13.1.2 Notebook的啟用 501

  13.1.3 Notebook功能菜單 503

  13.1.4 Notebook的使用 511

  13.1.5 輸出的控制 515

  13.2 MATLAB與Excel 516

  13.2.1 Excel Link安裝 516

  13.2.2 Excel Link函數 520

  13.2.3 Excel Link的應用 520

  第14章 MATLAB應用程序介面 525

  14.1 MATLAB應用程序介面介紹 526

  14.2 MATLAB調用C/C++ 527

  14.2.1 MATLAB mex文件 527

  14.2.2 C-MEX文件的使用 531

  14.3 C/C++調用MATLAB引擎 535

  14.3.1 MATLAB計算引擎概述 535

  14.3.2 MATLAB計算引擎庫函數 536

  14.3.3 C/C++調用MATLAB引擎 538

  14.4 MATLAB編譯器 542

  14.4.1 MATLAB編譯器的安裝和設置 543

  14.4.2 MATLAB編譯器的使用 544

  14.4.3 獨立應用程序 546

  實例目錄

  第1章 MATLAB操作基礎 2

  第2章 數據結構與類型 22

  【例2-1】Inf和NaN的運算實例。 23

  【例2-2】最小複數單位的使用。 24

  【例2-3】一維數組的定址與賦值。 26

  【例2-4】直接輸入二維數組。 27

  【例2-5】用指令輸入二維數組。 27

  【例2-6】二維數組的定址與賦值。 28

  【例2-7】多維數組的創建。 29

  【例2-8】用MATLAB函數生成多維數組。 30

  【例2-9】用cat函數生成多維數組。 30

  【例2-10】cat函數嵌套。 31

  【例2-11】鍵盤輸入簡單數值矩陣。 32

  【例2-12】利用表達式建立一個複數矩陣。 32

  【例2-13】利用reshape函數建立數值矩陣。 32

  【例2-14】利用diag函數建立對角矩陣。 33

  【例2-15】利用M文件創立新矩陣。 33

  【例2-16】矩陣中冒號的使用。 34

  【例2-17】提取矩陣的子矩陣。 34

  【例2-18】矩陣的變換。 35

  【例2-19】矩陣部分元素的提取。 36

  【例2-20】利用函數建立邏輯類型數組。 37

  【例2-21】IsNumeric函數使用實例。 38

  【例2-22】與、或、非使用實例。 39

  【例2-23】函數any和all的使用實例。 39

  【例2-24】關係運算實例。 40

  【例2-25】複雜關係運算。 40

  【例2-26】字元串的合併與提取。 42

  【例2-27】直接輸入建立二維字元串(數組)。 42

  【例2-28】利用「str2mat」函數建立二維字

  【例2-28】符串(數組)。 42

  【例2-29】「num2str」和「str2num」函數的

  【例2-28】用法實例。 43

  【例2-30】數制轉換函數實例。 44

  【例2-31】strcmp和strncmp函數簡單應用比較。 45

  【例2-32】應用「==」比較字元串。 45

  【例2-33】字元串的分類。 46

  【例2-34】strrep函數的應用。 46

  【例2-35】strrep函數的應用。 46

  【例2-36】FINDSTR函數的應用。 47

  【例2-37】直接賦值法創建結構數組。 47

  【例2-38】使用struct函數創建結構數組。 48

  【例2-39】數據的獲取。 49

  【例2-40】結構欄位數據的訪問。 50

  【例2-41】對結構欄位數據進行運算。 51

  【例2-42】結構操作函數的使用實例1。 52

  【例2-43】結構數組大小。 52

  【例2-44】創建元胞數組。 54

  【例2-45】CELL函數創建元胞數組。 55

  【例2-46】元胞數組中數據的獲得。 56

  【例2-47】元胞中具體元素的訪問。 56

  【例2-48】使用元胞的下標創建新的元胞數組。 57

  【例2-49】元胞數組的刪除。 57

  【例2-50】元胞數組的重塑。 58

  【例2-51】cellfun函數實例。 59

  【例2-52】顯示元胞數組內容函數celldisp

  【例2-28】和cellplot使用實例。 60

  【例2-53】元胞數組嵌套實例。 61

  【例2-54】元胞數組轉化為數值數組。 62

  【例2-55】數值數組轉化為元胞數組。 62

  第3章 數值計算及數據分析 64

  【例3-1】求矩陣的行列式、逆和秩。 65

  【例3-2】矩陣A的lu分解實例。 68

  【例3-3】矩陣A的LU分解實例。 68

  【例3-4】QR分解實例。 69

  【例3-5】QR分解實例。 70

  【例3-6】向量范數的求解。 71

  【例3-7】矩陣范數的求解。 72

  【例3-8】求矩陣 的特徵值和

  【例3-8】特徵向量。 73

  【例3-9】求矩陣 的特徵值和

  【例3-9】特徵向量。 73

  【例3-10】用求特徵值的方法,求解方程

  【例2-28】 。 74

  【例3-11】奇異值分解實例。 75

  【例3-12】奇異值分解實例。 75

  【例3-13】cumprod函數應用示例。 77

  【例3-14】cumsum函數應用示例。 77

  【例3-15】cumtrapz函數應用示例。 78

  【例3-16】max函數應用示例。 78

  【例3-17】mean函數應用示例。 79

  【例3-18】median函數應用示例。 79

  【例3-19】prod函數應用示例。 80

  【例3-20】sort函數應用示例。 80

  【例3-21】std函數應用示例。 81

  【例3-22】sum函數應用示例。 82

  【例3-23】cov函數應用示例。 82

  【例3-24】隨機生成一組數據,考察第四列和

  【例2-28】其他列的相關性。 83

  【例3-25】應用quad函數求數值積分。 83

  【例3-26】應用trapz函數求數值積分。 84

  【例3-27】積分 的精確值是2,

  【例2-28】採用梯形積分法計算其近似值。 84

  【例3-28】應用dblquad函數求重積分。 85

  【例3-29】用triplequad函數求下面三重積分。 86

  【例3-30】一維插值函數應用與比較。 87

  【例3-31】三次樣條插值。 87

  【例3-32】二維插值函數應用與比較。 88

  【例3-33】三維插值示例。 90

  【例3-34】曲線擬合的實現。 91

  【例3-35】三次多項式擬合。 92

  【例3-36】求函數 的傅里葉變換

  【例2-28】及其逆變換。 93

  【例3-37】產生一個正弦衰減曲線,進行快速傅里葉

  【例2-28】變換,並畫出幅值(amplitude)圖、

  【例2-28】相位(phase)圖、實部(real)圖和

  【例2-28】虛部(image)圖。 95

  【例3-38】設有初值問題。 97

  【例3-39】已知一個線性系統的微分方程為。 97

  【例3-40】求解L型薄膜的方程 , 為

  【例2-28】Dirichlet邊界條件 。最後繪圖

  【例2-28】顯示結果。 100

  【例3-41】求解熱傳導方程。 101

  【例3-42】求解波動方程。 102

  【例3-43】一般矩陣與稀疏矩陣的轉換。 103

  【例3-44】稀疏矩陣的創建。 104

  【例3-45】稀疏矩陣的創建。 105

  【例3-46】稀疏矩陣的創建。 105

  【例3-47】稀疏矩陣的組合。 107

  【例3-48】子矩陣的賦值。 107

  【例3-49】稀疏矩陣S的交換。 108

  【例3-50】對矩陣A,先用colperm函數獲取一個

  【例2-28】交換矢量p,然後根據矢量p對矩陣A

  【例2-28】的列按照非零元素的個數升序排序。 109

  第4章 符號運算 110

  【例4-1】sym函數的使用方法。 111

  【例4-2】使用sym函數定義符號表達式

  【例4-2】 。 111

  【例4-3】使用syms函數定義字元變數和數組。 112

  【例4-4】使用sym函數生成符號方程。 112

  【例4-5】使用findsym函數尋找符號表達式中的

  【例4-2】符號變數。 113

  【例4-6】使用digits函數設置數值精度。 113

  【例4-7】使用vpa函數進行可控精度計算。 114

  【例4-8】使用sym函數進行數值型與符號型

  【例4-8】變數的轉換。 114

  【例4-9】使用sym函數直接生成符號矩陣。 116

  【例4-10】用生成子矩陣的方法生成符號矩陣。 116

  【例4-11】使用sym函數將數值矩陣轉換為

  【例4-11】符號矩陣。 116

  【例4-12】符號矩陣的四則運算。 118

  【例4-13】符號數組的四則運算。 119

  【例4-14】矩陣和數組的逆運算。 120

  【例4-15】矩陣和數組的冪計算。 120

  【例4-16】符號矩陣的秩。 121

  【例4-17】符號矩陣的逆和行列式運算。 122

  【例4-18】符號表達式求極限實例。 123

  【例4-19】求符號表達式的微分實例。 123

  【例4-20】計算符號積分實例。 124

  【例4-21】計算符號的級數求和。 125

  【例4-22】taylor級數圖像與原函數比較。 126

  【例4-23】使用ezplot函數繪製符號函數的圖形。 127

  【例4-24】繪製三維參量曲線。 128

  【例4-25】繪製函數1 + cos(t)在區間[0,2n]上的

  【例2-28】極坐標圖。 128

  【例4-26】繪製符號函數的三維網格圖。 129

  【例4-27】繪製符號函數的等高線圖。 130

  【例4-28】繪製符號函數的不同顏色填充

  【例2-28】等高線圖。 131

  【例4-29】繪製函數的網格圖形及其

  【例2-28】等高線圖。 132

  【例4-30】繪製函數的三維彩色曲面圖。 133

  【例4-31】繪製如下函數的曲面圖與等高線圖的

  【例2-28】混合圖。 133

  【例4-32】使用fplot函數繪製不同的圖形。 135

  【例4-33】求解方程組u^2-v^2 = a^2, u + v = 1

  【例2-28】a^2-2*a = 3。 137

  【例4-34】通過矩陣除法來求解線性方程組。 137

  【例4-35】dsolve函數的使用實例。 138

  【例4-36】非線性方程返回多個結果的實例。 139

  【例4-37】求解具有兩個初始條件y(0)=1和Dy(0)=0

  【例2-28】的二階微分方程D2y=cos(2*x)-y。 139

  【例4-38】符號表達式提取分子分母實例。 140

  【例4-39】符號表達式的基本代數運算實例。 141

  【例4-40】合併符號表達式同類項實例。 141

  【例4-41】各種符號表達式的展開形式實例。 142

  【例4-42】對符號表達式因式分解實例。 142

  【例4-43】符號符合函數運算實例。 143

  【例4-44】符號表達式反函數運算實例。 144

  【例4-45】pretty函數使用實例。 144

  【例4-46】horner函數使用實例。 144

  【例4-47】simplify函數使用實例。 145

  【例4-48】simple函數使用實例。 145

  【例4-49】subexpr函數使用實例。 146

  【例4-50】用符號變數s來代替默認的sigma。 146

  【例4-51】subs函數使用實例。 147

  【例4-52】創建能對任何輸入參數進行處理的

  【例2-28】符號函數z=sin(x)/x。 147

  第5章 MATLAB編程基礎 148

  【例5-1】函數M文件簡單示意。 150

  【例5-2】help文本查看。 151

  【例5-3】註釋行。 151

  【例5-4】腳本文件運行實例。 152

  【例5-5】計算n與m的最小公倍數。 153

  【例5-6】順序結構實例。 154

  【例5-7】if…end實例。 155

  【例5-8】if…else…end實例。 156

  【例5-9】if…elseif…else…end實例。 157

  【例5-10】switch…case…end實例。 158

  【例5-11】for循環實例。 160

  【例5-12】使用向量替代上例所示for循環。 161

  【例5-13】for循環嵌套實例。 161

  【例5-14】while循環程序實例。 162

  【例5-15】while循環相互嵌套實例。 162

  【例5-16】input函數實例。 163

  【例5-17】break命令實例。 164

  【例5-18】continue命令實例。 165

  【例5-19】return命令實例。 165

  【例5-20】pause命令實例。 166

  【例5-21】子函數實例。 168

  【例5-22】子函數的幫助文本查看實例。 169

  【例5-23】私有函數實例。 170

  【例5-24】嵌套函數的示意程序。 172

  【例5-25】嵌套函數示例1。 172

  【例5-26】嵌套函數示例2。 173

  【例5-27】嵌套函數示例3。 173

  【例5-28】嵌套函數中的函數句柄。 174

  【例5-29】嵌套函數中的變數。 174

  【例5-30】返回函數句柄的兩種函數的比較。 175

  【例5-31】匿名函數的輸出實例。 180

  【例5-32】匿名函數變數實例。 181

  【例5-33】使用匿名函數解方程。 182

  【例5-34】編寫一個應用全局變數的求算術

  【例2-28】平均的函數。 183

  【例5-35】nargin函數的初級使用方法。 185

  【例5-36】使用nargin可以查找函數輸入

  【例2-28】變數的個數。 185

  【例5-37】nargin函數的高級使用方法。 186

  【例5-38】varargin和varargout函數的使用舉例。 187

  【例5-39】varargin和varargout的取值。 188

  【例5-40】向嵌套函數中傳遞可變的參數。 188

  【例5-41】使用mkdir建立目錄。 189

  【例5-42】函數句柄作為輸入參數傳送給

  【例2-28】另一個函數。 190

  【例5-43】函數句柄在數組和結構體中的使用。 191

  【例5-44】函數句柄的調用。 192

  【例5-45】functions函數使用舉例。 193

  【例5-46】func2str和str2func函數的使用。 193

  【例5-47】isa和isequal函數的實例。 193

  【例5-48】嵌套函數。 195

  【例5-49】讀入數據示範。 195

  【例5-50】稀疏矩陣與滿秩矩陣的存儲比較。 196

  【例5-51】profiler實例。 207

  【例5-52】try…catch示例。 209

  【例5 53】try…catch嵌套示例。 209

  【例5-54】lasterror函數實例。 210

  【例5-55】警告實例。 214

  【例5-56】查詢所有的警告。 214

  第6章 MATLAB文件操作 218

  【例6-1】使用嚮導讀入文件class.txt,該文件中的

  【例6-1】文本以Tab鍵分隔。 220

  【例6-2】從文件中創建變數實例。 222

  【例6-3】導入數值文本數據。 223

  【例6-4】導入有分隔符的ASCII數據文件。 224

  【例6-5】導入帶有文本頭的文件數據。 225

  【例6-6】導入字母數值混合的數據。 226

  【例6-7】分隔符不是空格時的讀取。 226

  【例6-8】用save命令導出陣列A。 227

  【例6-9】指定分隔符導出陣列A。 228

  【例6-10】使用diary導出陣列。 228

  【例6-11】用csvwrite函數導出矩陣數據。 229

  【例6-12】使用whos–file命令預覽文件內容。 230

  【例6-13】load命令實例1。 231

  【例6-14】load命令實例2。 231

  【例6-15】load命令實例3。 231

  【例6-16】load命令實例4。 231

  【例6-17】save命令實例1。 232

  【例6-18】save命令實例2。 233

  【例6-19】save命令實例3。 233

  【例6-20】imread函數實例。 234

  【例6-21】imwrite函數實例。 235

  【例6-22】將一個MATLAB圖像序列保存為

  【例2-28】一個AVI格式文件。 238

  【例6-23】xlsfinfo函數實例。 239

  【例6-24】xlswrite函數實例。 240

  【例6-25】xlsread函數實例。 240

  【例6-26】wklfinfo函數實例。 241

  【例6-27】wklwrite函數實例。 241

  【例6-28】wklread函數實例。 241

  【例6-29】fopen函數實例。 242

  【例6-30】fread函數實例1。 243

  【例6-31】fread函數實例2。 244

  【例6-32】fread函數實例3。 245

  【例6-33】fwrite函數實例。 245

  【例6-34】fgetl函數實例。 245

  【例6-35】fscanf函數實例。 246

  【例6-36】格式化寫入文本文件實例。 247

  【例6-37】格式化讀取文本文件實例。 248

  【例6-38】文件指針實例。 249

  【例6-39】用feof函數檢測文件末尾。 250

  第7章 數據可視化 251

  【例7-1】使用圖形表示連續調製波形。 252

  【例7-2】繪製一個簡單的雙軸對數圖形。 254

  【例7-3】根據向量或矩陣繪製雙軸對數圖形。 254

  【例7-4】根據數據向量來繪製單軸對數圖形。 255

  【例7-5】根據函數plotyy來繪製多軸標度圖形。 256

  【例7-6】使用bar函數與barh函數繪圖。 258

  【例7-7】繪製面積圖。 259

  【例7-8】繪製二維餅形圖。 260

  【例7-9】繪製隨機生成的正態分佈數據的

  【例2-28】直方圖。 261

  【例7-10】使用stem繪製離散圖形。 262

  【例7-11】使用stairs函數繪製正弦波的

  【例2-28】階躍圖形。 262

  【例7-12】繪製矩陣的本徵值的羅盤圖。 263

  【例7-13】用羽狀圖來繪製theta的方向變化。 264

  【例7-14】繪製函數 的梯度域。 264

  【例7-15】繪製peaks函數的等高線。 266

  【例7-16】繪製三維螺旋線。 267

  【例7-17】繪製函數 的曲面圖。 268

  【例7-18】繪製peaks函數的曲面圖。 269

  【例7-19】使用bar3和ba3h函數繪製條形圖。 269

  【例7-20】使用pie3函數繪製三維餅形圖。 270

  【例7-21】使用stem3函數繪製三維離散圖。 270

  【例7-22】使用contour3函數繪製等高線圖形。 271

  【例7-23】使用xlabel和ylaebl命令給圖形添加

  【例2-28】坐標軸標註。 273

  【例7-24】使用text函數對圖像註釋。 274

  【例7-25】使用legend函數進行圖形的圖例標註。 276

  【例7-26】使用grid函數進行圖形網格控制。 277

  【例7-27】view函數的使用。 278

  【例7-28】顏色表的使用。 279

  【例7-29】生成一個曲面圖,之後添加光源。 280

  第8章 MATLAB在數字圖像處理中的應用 282

  【例8-1】imfinfo函數的應用。 288

  【例8-2】顯示灰度圖像。 289

  【例8-3】顯示二值圖像。 290

  【例8-4】imwrite函數應用。 291

  【例8-5】對不同類型的圖像進行轉化。 292

  【例8-6】用OSTU方法對灰度圖像實現

  【例8-6】閾值分割。 293

  【例8-7】在水平和豎直方向移動圖像。 296

  【例8-8】對圖像分別進行水平鏡像和垂直

  【例8-6】鏡像變換。 297

  【例8-9】縮小圖像。 299

  【例8-10】旋轉圖像。 300

  【例8-11】剪切圖像。 301

  【例8-12】生成大小為100100的圖像,然後分別

  【例2-28】進行平移的DFT和不平移的DFT。 307

  【例8-13】使用fft2函數驗證離散傅里葉變換的

  【例2-28】平移特性。 307

  【例8-14】離散傅里葉變換的旋轉特性。 308

  【例8-15】對baboon圖像進行二維DCT變換,

  【例2-28】查看其能量譜。 311

  【例8-16】圖像抑噪。 312

  【例8-17】二維離散沃爾什變換。 314

  【例8-18】快速沃爾什變換程序。 315

  【例8-19】baboon圖像。 316

  【例8-20】圖像的radon變換與圖像重構。 318

  【例8-21】繪製圖像的輪廓線和直方圖。 321

  【例8-22】非線性動態動態範圍調整: 323

  【例8-23】imadjust函數變換示例。 324

  【例8-24】直方圖均衡化示例。 325

  【例8-25】鄰域平均法濾波。 328

  【例8-26】維納濾波示例。 329

  【例8-27】中值濾波函數medfilt2示例。 330

  【例8-28】使用拉普拉斯運算元對圖像銳化。 331

  【例8-29】巴特沃思濾波器低通濾波圖像。 332

  第9章 MATLAB優化問題應用 334

  【例9-1】在區間(0,2π)上求函數sin(x)的最小值。 339

  【例9-2】對邊長為3m的正方形鐵板,在四個角處

  【例2-2】剪去相等的正方形以製成方形無蓋水槽,

  【例9-2】問如何剪法使水槽的容積最大? 339

  【例9-3】求函數的最小值。 344

  【例9-4】將上例中的banana方程增加一個參數,

  【例9-2】並求最小值。 344

  【例9-5】求函數的最小值。 346

  【例9-6】求公式的最小值。 349

  【例9-7】求函數f(x) = –x1x2x3的最小值。 353

  【例9-8】確定最好的採購方案。 357

  【例9-9】計算x為何值時,目標函數取到

  【例9-8】最大值中的最小值 359

  【例9-10】通過在3附近搜索sin函數的0值來

  【例2-28】計算π的值。 361

  【例9-11】在1和2之間求解cos=0的根。 361

  【例9-12】求解函數的根。 361

  【例9-13】求解方程組的根,其中包含兩個

  【例2-28】未知數兩個方程。 363

  【例9-14】計算符合公式的矩陣x的值。 364

  【例9-15】一個4×2問題的無約束最小二乘解同

  【例2-28】非負最小二乘解的比較。 367

  【例9-16】求超定系統C·x = d的最小二乘解,約束

  【例2-28】條件為A·x≤b,lb≤x≤ub。 368

  【例9-17】對公式進行最小化優化。 370

  【例9-18】針對給出的xdata和ydata數據,擬合

  【例2-28】指數式衰減方程。 372

  【例9-19】計算MATLAB系統自帶lincontest6

  【例2-28】函數在約束條件下的最小值。 374

  【例9-20】求MATLAB自帶的測試函數De Jong

  【例2-28】第五函數最小值。 377

  【例9-21】在給定不等式約束和下邊界條件

  【例2-28】約束下求系統自帶測試函數lincontest6

  【例2-28】的最小值。 383

  【例9-22】在無約束條件下,用遺傳演算法求MATLAB

  【例2-28】自帶測試函數shufcn的最小值。 384

  【例9-23】使用Optimization Tool以fmincon

  【例2-28】求解器對下面二次方程求解最小值。 386

  第10章 MATLAB在信號處理中的應用 389

  【例10-1】運行MATLAB命令產生矩形

  【例10-1】脈衝信號。 392

  【例10-2】使用MATLAB命令產生對稱三角波。 393

  【例10-3】計算

  【例2-28】的Z反變換。 396

  【例10-4】求餘弦序列的離散傅里葉變換矩陣。 398

  【例10-5】besselap函數使用舉例。 405

  【例10-6】buttap函數使用舉例。 406

  【例10-7】cheb1ap函數使用舉例舉例。 406

  【例10-8】cheb2ap函數舉例。 407

  【例10-9】ellipap舉例。 408

  【例10-10】用衝激響應不變法設計切比

  【例02-28】數雪夫Ⅰ型字低通濾波器。 409

  【例10-11】用雙線性變換法設計一個巴特沃思數

  【例2-028】字低通濾波器。 410

  【例10-12】用雙線性變換法設計一個數字帶通濾

  【例02-28】波器。 411

  【例10-13】調用濾波器完全設計函數設計帶通切比

  【例02-28】雪夫Ⅰ型數字濾波器。 412

  【例10-14】運用yulewalk方法設計一多通帶濾波

  【例20-28】器,並繪製相應的頻率響應曲線。 413

  【例10-15】用maxflat函數設計一個通用巴特沃思低

  【例20-28】通濾波器。 414

  【例10-16】設計一個50階的FIR帶通濾波器。 417

  【例10-17】用窗函數法設計多通帶濾波器。 418

  【例10-18】設計一個40階低通濾波器,並且繪製

  【例20-28】理想頻率響應和實際頻率響應圖。 419

  第11章 Simulink模擬 421

  【例11-1】演示註釋文字的使用方法。 433

  【例11-2】簡單系統模擬。 446

  【例11-3】人口變化離散系統模型模擬。 448

  【例11-4】笨豬跳系統的模擬實例。 450

  【例11-5】子系統模型的第1種創建方法實例。 455

  【例11-6】子系統模型的組合已有的模塊創建

  【例2-28】方法實例。 455

  【例11-7】使能子系統設計實例。 456

  【例11-8】利用觸發子系統獲取零階保持的採樣

  【例2-28】信號實例。 457

  【例11-9】我們以MATLAB自帶的sldemo_

  【例2-28】househeat.mdl來說明子系統的封裝。 459

  【例11-10】非等溫CSTR系統模擬實例。 471

  第12章 圖形用戶界面GUI設計 473

  【例12-1】獲得圖形對象句柄。 475

  【例12-2】使用uicontrol函數建立控制項。 489

  【例12-3】使用guide來創建一個圖形

  【例12-3】用戶界面。 495

  第13章 MATLAB與Office 500

  【例13 1】Evaluate Cell示例。 508

  【例13 2】Evaluate Calc Zone示例。 509

  【例13 3】輸出單元和輸入單元。 511

  【例13 4】單元組。 513

  【例13 5】把輸入單元嵌在文本中。 514

  第14章 MATLAB應用程序介面 525

  【例14-1】創建類似於其他編程語言中簡單的

  【例2-28】「hello,world!」程序「hello, MEX!」,

  【例2-28】在命令行中輸出hello, MEX!語句。 531

  【例14-2】MATLAB中在有輸入輸出參數的

  【例2-28】情況下MEX文件實例。 532

  【例14-3】將C++程序mexcpp.cpp編譯為MEX

  【例2-28】文件。 533

  【例14-4】在C/C++中調用MATLAB計算引擎

  【例2-28】實例。 538

  【例14-5】使用MATLAB編譯器編譯magicsquare.m,

  【例2-28】並且創建獨立C語言應用程序

  【例2-28】magicsquare.exe,最後發布給

  【例2-28】其他用戶。 546

  【例14-6】只由M文件作為源文件來進行編譯。 549

  【例14-7】舉例說明混合調用M文件和

  【例14-7】C語言代碼。 549

  【例14-8】用實例說明怎樣編寫調用一個編譯過的

  【例2-28】M文件。 553

上一篇[節食]    下一篇 [癩瘡]

相關評論

同義詞:暫無同義詞