《國(guó)外電子與通信教材系列:MATLAB編程與工程應(yīng)用(第2版)》的主旨是讓讀者熟練掌握MATLAB,在解決工程應(yīng)用時(shí),具備所需要的基本編程概念和技能。全書分成兩大部分:第一部分主要講述如何用MATLAB進(jìn)行程序設(shè)計(jì)及解決實(shí)際問(wèn)題,具體內(nèi)容包括MATLAB程序設(shè)計(jì)概念、選擇、循環(huán)、字符串操作、單元陣列及結(jié)構(gòu)、高級(jí)文件輸入/輸出及高級(jí)函數(shù)等;第二部分完全針對(duì)的是實(shí)際應(yīng)用,具體內(nèi)容包括用MATLAB繪圖、解線性代數(shù)方程組、進(jìn)行基本統(tǒng)計(jì)、集合、排序和索引、處理聲音和圖像,以及高等數(shù)學(xué)中的曲線擬合、復(fù)數(shù)計(jì)算、微積分等。
《國(guó)外電子與通信教材系列:MATLAB編程與工程應(yīng)用(第2版)》可以作為各大專院校非計(jì)算機(jī)專業(yè)學(xué)生程序設(shè)計(jì)的教材或參考書,也可以作為工程技術(shù)人員的參考用書。
本書的目的是把MATLAB作為一種工具使用,講解解決基本問(wèn)題所需要的基本編程概念和技能。MATLAB是一款功能強(qiáng)大的軟件,它包含完成從數(shù)學(xué)運(yùn)算到三維成像多種任務(wù)的內(nèi)置函數(shù)。另外,MATLAB擁有一套完整的編程結(jié)構(gòu),允許用戶定制自己的程序規(guī)范。
介紹MATLAB的書有很多。這些書有兩個(gè)基本特色:一些書除了一到兩章介紹一些程序概念之外,主要闡述MATLAB中內(nèi)置函數(shù)的使用;另一些書僅僅覆蓋了編程結(jié)構(gòu),而沒有涉及使得MATLAB有效使用的許多內(nèi)置函數(shù)。僅僅學(xué)習(xí)內(nèi)置函數(shù)的讀者能很好地使用MATLAB,但是不能理解基本的編程概念。因而對(duì)沒有學(xué)習(xí)其他的入門課程或沒有閱讀其他關(guān)于編程概念的書的讀者,很難進(jìn)一步學(xué)習(xí)例如C++或Java等編程語(yǔ)言。相反,首先只學(xué)習(xí)編程概念(使用任何語(yǔ)言)的讀者傾向于使用高效率的控制語(yǔ)句來(lái)解決問(wèn)題,并沒有意識(shí)到在MATLAB中,許多情況下并不需要這樣做。
本書采取一種混合式的方法,同時(shí)介紹編程和有效使用。同學(xué)們面臨的挑戰(zhàn)是幾乎不能預(yù)測(cè)他們將來(lái)是否需要知道編程概念,或者像MATLAB這樣的軟件包是否能滿足他們的職業(yè)需要。因而,對(duì)入門的學(xué)生來(lái)說(shuō),最好的方法就是同時(shí)給出編程概念和有效的內(nèi)置函數(shù)。因?yàn)镸ATLAB非常容易使用,應(yīng)用這種混合式方法來(lái)講授編程和解決問(wèn)題是一個(gè)完美的平臺(tái)。
因?yàn)榫幊谈拍钤诒緯惺欠浅jP(guān)鍵的,所以本書的重點(diǎn)不是放在MATLAB的每個(gè)新版本如何節(jié)省時(shí)間的特點(diǎn)上。例如,在當(dāng)前的MATLAB版本中,統(tǒng)計(jì)數(shù)字變量顯示在工作臺(tái)窗口中。在本書中沒有顯示任何細(xì)節(jié),因?yàn)檫@一特點(diǎn)是否可用依賴于軟件的版本,而且本書是以解釋概念為目的的。
第一部分 用MATLAB 進(jìn)行程序設(shè)計(jì)及問(wèn)題求解
第1章 MATLAB 簡(jiǎn)介
1.1 初識(shí) MATLAB
1.2 MATLAB 桌面環(huán)境
1.3 變量和賦值語(yǔ)句
1.3.1 初始化、遞增和遞減
1.3.2 變量名
1.4 表達(dá)式
1.4.1 format 函數(shù)和省略號(hào)
1.4.2 運(yùn)算符
1.4.3 內(nèi)置函數(shù)和 help命令
1.4.4 常量
1.4.5 類型
1.4.6 隨機(jī)數(shù)
1.5 字符和編碼
1.6 向量和矩陣
1.6.1 創(chuàng)建行向量
1.6.2 創(chuàng)建列向量
1.6.3 創(chuàng)建矩陣變量
1.6.4 維度
1.6.5 用向量和矩陣作為參數(shù)的函數(shù)
1.6.6 空向量
1.6.7 三維矩陣
總結(jié)
習(xí)題
第2章 MATLAB 程序設(shè)計(jì)概述
2.1 算法
2.2 MATLAB 腳本
2.2.1 文檔
2.3 輸入與輸出
2.3.1 輸入函數(shù)
2.3.2 輸出語(yǔ)句:disp 和 fprintf
2.4 腳本的輸入和輸出
2.5 用腳本生成和定制簡(jiǎn)單圖型
2.5.1 plot 函數(shù)
2.5.2 與 plot 相關(guān)的函數(shù)
2.6 文件輸入/輸出簡(jiǎn)介
2.6.1 向文件中寫數(shù)據(jù)
2.6.2 向文件中追加數(shù)據(jù)
2.6.3 從文件中讀數(shù)據(jù)
2.7 返回單個(gè)值的用戶自定義函數(shù)
2.7.1 函數(shù)定義
2.7.2 函數(shù)調(diào)用
2.7.3 從腳本中調(diào)用用戶自定義函數(shù)
2.7.4 傳遞多個(gè)參數(shù)
2.7.5 函數(shù)中的局部變量
總結(jié)
習(xí)題
第3章 選擇語(yǔ)句
3.1 關(guān)系表達(dá)式
3.2 if 語(yǔ)句
3.2.1 邏輯真和邏輯假的表示
3.3 if-else 語(yǔ)句
3.4 嵌套的 if-else 語(yǔ)句
3.5 switch 語(yǔ)句
3.6 menu 函數(shù)
3.7 MATLAB 中的 is 函數(shù)
總結(jié)
習(xí)題
第4章 循環(huán)
4.1 for 循環(huán)
4.1.1 求和與積
4.1.2 if 語(yǔ)句在 for 語(yǔ)句中的使用
4.1.3 在循環(huán)體中不使用循環(huán)變量的 for 循環(huán)
4.1.4 for 循環(huán)的輸入
4.2 for 嵌套循環(huán)
4.2.1 嵌套循環(huán)和矩陣
4.2.2 for 嵌套循環(huán)和 if 語(yǔ)句的混合使用
4.2.3 邏輯向量
4.2.4 作為函數(shù)參數(shù)的向量和矩陣
4.3 while 循環(huán)
4.3.1 while 循環(huán)中的多重條件
4.3.2 在 while 循環(huán)中讀文件
4.3.3 while 循環(huán)中的輸入
4.3.4 while 循環(huán)中的計(jì)數(shù)
4.3.5 while 循環(huán)中對(duì)用戶輸入信息的差錯(cuò)檢測(cè)
總結(jié)
習(xí)題
第5章 向量化代碼
5.1 向量和矩陣的循環(huán)處理
5.2 向量和矩陣運(yùn)算
5.3 作為函數(shù)參數(shù)的向量和矩陣
5.4 邏輯向量
5.4.1 內(nèi)置邏輯函數(shù)
5.5 向量化代碼
5.6 計(jì)時(shí)
總結(jié)
習(xí)題
第6章 MATLAB 程序
6.1 其他類型的用戶自定義函數(shù)
6.1.1 返回多值的函數(shù)
6.1.2 完成任務(wù)無(wú)返回值的函數(shù)
6.1.3 帶返回值并可打印的函數(shù)
6.1.4 向函數(shù)傳遞參數(shù)
6.2 MATLAB 程序的組織
6.2.1 模塊化程序
6.2.2 子函數(shù)
6.3 應(yīng)用:菜單驅(qū)動(dòng)的模塊程序
6.4 變量作用域
6.4.1 持續(xù)變量
6.5 調(diào)試技術(shù)
6.5.1 錯(cuò)誤類型
6.5.2 追蹤
6.5.3 編輯器/調(diào)試程序
6.5.4 函數(shù)樁
總結(jié)
習(xí)題
第7章 字符串操作
7.1 創(chuàng)建字符串變量
7.1.1 字符串向量
7.2 字符串操作
7.2.1 連接
7.2.2 創(chuàng)建自定義字符串
7.2.3 刪除空白字符
7.2.4 變換大小寫
7.2.5 字符串比較
7.2.6 查找、 替換和分割字符串
7.2.7 字符串求值
7.3 有關(guān)字符串的 is 函數(shù)
7.4 字符串和數(shù)值間的轉(zhuǎn)換
總結(jié)
習(xí)題
第8章 數(shù)據(jù)結(jié)構(gòu):元胞數(shù)組和結(jié)構(gòu)體
8.1 元胞數(shù)組
8.1.1 創(chuàng)建元胞數(shù)組
8.1.2 查看并顯示元胞數(shù)組的元素和屬性
8.1.3 在元胞數(shù)組中存放字符串
8.2 結(jié)構(gòu)體
8.2.1 創(chuàng)建和修改結(jié)構(gòu)體變量
8.2.2 將結(jié)構(gòu)體傳遞給函數(shù)
8.2.3 有關(guān)結(jié)構(gòu)體函數(shù)
8.2.4 結(jié)構(gòu)體向量
8.2.5 嵌套結(jié)構(gòu)體
8.2.6 嵌套結(jié)構(gòu)體向量
總結(jié)
習(xí)題
第9章 高級(jí)文件輸入/輸出
9.1 低級(jí)文件 I/ O 函數(shù)
9.1.1 打開和關(guān)閉文件
9.1.2 讀取文件
9.1.3 寫入文件
9.1.4 追加文件
9.2 寫入和讀取電子表格類文件
9.3 使用 MAT 文件變量
9.3.1 將變量寫入文件中
9.3.2 將變量追加到 MAT 文件中
9.3.3 從 mat 文件中讀取
總結(jié)
習(xí)題
第10章 高級(jí)函數(shù)
10.1 匿名函數(shù)
10.2 函數(shù)句柄的使用
10.2.1 函數(shù)的函數(shù)
10.3 參數(shù)數(shù)目可變
10.3.1 輸入?yún)?shù)數(shù)目可變
10.3.2 輸出參數(shù)數(shù)量可變
10.4 嵌套函數(shù)
10.5 遞歸函數(shù)
總結(jié)
習(xí)題
第二部分 應(yīng)用
第11章 MATLAB 作圖
11.1 圖形函數(shù)
11.1.1 圖形矩陣
11.1.2 圖形類型
11.2 動(dòng)畫
11.3 三維圖形
11.4 定制圖表
11.5 句柄圖形和圖形屬性
11.5.1 圖形對(duì)象和屬性
11.5.2 核心對(duì)象
11.6 plot 的應(yīng)用
11.6.1 從函數(shù)中繪圖
11.6.2 繪制文件數(shù)據(jù)
總結(jié)
習(xí)題
第12章 解線性代數(shù)方程組
12.1 矩陣定義
12.1.1 矩陣屬性
12.1.2 方陣
12.1.3 數(shù)組操作
12.1.4 矩陣乘法
12.1.5 矩陣操作
12.1.6 向量操作
12.2 用矩陣解線性代數(shù)方程組
12.2.1 解2×2 方程組
12.2.2 高斯 和 高斯-約當(dāng)消元法
12.2.3 簡(jiǎn)化行梯形形式
12.2.4 通過(guò)簡(jiǎn)化增廣矩陣求矩陣的逆
總結(jié)
習(xí)題
第13章 基本統(tǒng)計(jì)、集合、排序和索引
13.1 統(tǒng)計(jì)函數(shù)
13.1.1 內(nèi)建函數(shù)mean
13.1.2 方差和標(biāo)準(zhǔn)差
13.1.3 眾數(shù)
13.1.4 中間值
13.2 集合操作
13.3 排序
13.3.1 對(duì)結(jié)構(gòu)體向量排序
13.3.2 字符串排序
13.4 索引
13.4.1 結(jié)構(gòu)體向量的索引
13.5 查找
13.5.1 順序查找
13.5.2 二分查找
總結(jié)
習(xí)題
第14章 聲音和圖像
14.1 聲音文件
14.2 圖像處理
14.2.1 色圖
14.2.2 真彩色矩陣
14.3 圖形用戶界面的介紹
總結(jié)
習(xí)題
第15章 高等數(shù)學(xué)應(yīng)用
15.1 數(shù)據(jù)擬合曲線
15.1.1 多項(xiàng)式
15.1.2 曲線擬合
15.1.3 內(nèi)插值和外插值
15.1.4 最小二乘法
15.2 復(fù)數(shù)
15.2.1 復(fù)數(shù)的判等
15.2.2 復(fù)數(shù)相加減
15.2.3 復(fù)數(shù)乘法
15.2.4 共軛復(fù)數(shù)和絕對(duì)值
15.2.5 表示為多項(xiàng)式的復(fù)數(shù)方程式
15.2.6 極坐標(biāo)形式
15.2.7 繪圖
15.3 符號(hào)數(shù)學(xué)
15.3.1 符號(hào)變量和表達(dá)式
15.3.2 簡(jiǎn)化函數(shù)
15.3.3 顯示表達(dá)式
15.3.4 解方程
15.4 微積分:積分和微分
15.4.1 積分和梯形法則
15.4.2 微分
15.4.3 符號(hào)數(shù)學(xué)工具箱中的微積分
總結(jié)
習(xí)題
……