全書以MATLAB 2016為基礎,結合高等學校學生的教學經驗和計算科學的應用,講解MATLAB在智能計算和系統仿真分析中的各種方法和技巧,完整的編寫一套讓學生與零基礎讀者可以靈活掌握的教學指南,讓他們終脫離書本并獨立應用于工程實踐中。本書主要內容包括MATLAB的入門、基礎知識、程序設計基礎、圖形繪制、圖形與圖像的處理、高等數學計算、方程組的運算、符號運算、優(yōu)化設計、圖形用戶界面設計、Simulink仿真基礎、數理統計分析、概率統計分析和外部接口設計。本書覆蓋數學計算與仿真分析的各個方面,既有MATLAB基本函數的介紹,也有用MATLAB編寫的專門計算程序,利用函數解決不同的應用問題,實例豐富而典型,包括兩章經典實例,將重點知識進行融入應用,全書通過近400個實例指導讀者有的放矢地進行學習。
MATLAB是美國MathWorks公司出品的一個優(yōu)秀的數學計算軟件,其強大的數值計算能力和數據可視化能力令人震撼。經過多年的發(fā)展,MATLAB已經發(fā)展到了2016a版本,功能日趨完善。MATLAB已經發(fā)展成為多種學科必不可少的計算工具,成為自動控制、應用數學、信息與計算科學等專業(yè)大學生與研究生必須掌握的基本技能。
目前,MATLAB已經得到了很大程度的普及,它不僅成為各大公司和科研機構的專用軟件,在各高校中同樣也得到了普及。越來越多的學生借助MATLAB來學習數學分析、圖像處理、仿真分析。
為了幫助零基礎讀者快速掌握MATLAB的使用方法,本書從基礎著手,詳細對MATLAB的基本函數功能進行介紹,同時根據不同學科讀者的需求,作者在數學計算、圖形繪制、仿真分析、最優(yōu)化設計和外部接口編程等不同的領域進行了詳細的介紹,讓讀者入寶山而滿載歸。
本書提供了使用MATLAB解決數學問題的實踐性指導,它基于MATLAB 2016版,內容由淺入深,特別是本書對每一條命令的使用格式都作了詳細而又簡單明了的說明,并為用戶提供了大量的例題加以說明其用法,因此,對于初學者自學是很有幫助的;同時,又對數學中的一些深入問題如優(yōu)化理論的算法介紹以及各種數學問題如概率問題、數理統計問題等進行了較為詳細的介紹,因此,該書也可作為科技工作者的科學計算工具書。
本書共16章,分貝介紹了MATLAB的入門,基礎知識,程序設計基礎,圖形繪制,圖形與圖像的處理,高等數學計算,方程組的運算,符號運算,優(yōu)化設計,圖形用戶界面設計, Simulink仿真基礎,數理統計分析,概率統計分析,外部接口設計,控制系統分析設計實例,健康女性的數據分析設計實例等內容。
MATLAB本身是一個極為豐富的資源庫。因此,對大多數用戶來說,一定有部分MATLAB內容看起來是“透明”的,也就是說用戶能明白其全部細節(jié);另有些內容表現為“灰色”,即用戶雖明白其原理但是對于具體的執(zhí)行細節(jié)不能完全掌握;還有些內容則“全黑”,也就是用戶對它們一無所知。本書雖僅涉及MATLAB在各方面應用的一小部分,但就是這部分內容就已經構成了對本書作者的嚴重挑戰(zhàn)。作者在寫稿過程中遇到過不少困惑,通過再學習和向專家請教雖克服了它們的障礙,但仍難免錯誤和偏見。本書所有算例均由作者在計算機上驗證。在此,本書作者肯切期望得到各方面專家和廣大讀者的指教。
本書由華東交通大學教材基金資助,華東交通大學的李津和劉濤主編, 華東交通大學的沈曉玲、朱愛華、黃志剛、鐘禮東參與部分章節(jié)編著,其中李津執(zhí)筆編寫了第1~4章,劉濤執(zhí)筆編寫了第5~8章,沈曉玲執(zhí)筆編寫了第9~10章,朱愛華執(zhí)筆編寫了第11~12章,黃志剛執(zhí)筆編寫了第13~14章,鐘禮東執(zhí)筆編寫了第15~16章。閆聰聰、劉昌麗、康士廷、楊雪靜、李兵、宮鵬涵、孫立明等參與了部分章節(jié)的內容整理,在此對他們的付出表示感謝。
讀者在學習過程中,若發(fā)現錯誤,編者將不勝感激。歡迎加入三維書屋EDA圖書學習交流群QQ交流探討。也可以登錄本QQ交流群索取本書配套資源包含全書所有實例的源文件,實例個數多達 400 個。
作 者
第1章 MATLAB入門
1.1 MATLAB中的科學計算概述
1.1.1 MATLAB的發(fā)展歷程
1.1.2 MATLAB系統
1.2 MATLAB 2016的用戶界面
1.2.1 標題欄
1.2.2 功能區(qū)
1.2.3 工具欄
1.2.4 命令窗口
1.2.5 歷史窗口
1.2.6 當前目錄窗口
1.2.7 工作空間管理窗口
1.2.8 圖像窗口
1.3 MATLAB內容及查找
1.3.1 MATLAB的搜索路徑
1.3.2 擴展MATLAB的搜索路徑
1.4 MATLAB的幫助系統
1.4.1 聯機幫助系統
1.4.2 幫助命令
1.4.3 聯機演示系統
1.4.4 網絡資源
第2章 MATLAB基礎知識
2.1 MATLAB命令的組成
2.1.1 基本符號
2.1.2 功能符號
2.1.3 常用指令
2.1.4 基本數學函數
2.2 數據類型
2.2.1 變量與常量
2.2.2 數值
2.2.3 字符串
2.2.4 向量
2.2.5 矩陣
2.2.6 單元型變量
2.2.7 結構型變量
2.3 運算符
2.3.1 算術運算符
2.3.2 關系運算符
2.3.3 邏輯運算符
2.4 數值運算
2.4.1 矩陣運算
2.4.2 向量運算
2.5 M文件
2.5.1 命令式文件
2.5.2 函數式文件
2.6 操作實例——魔方陣函數
第3章 程序設計基礎
3.1 MATLAB程序設計
3.1.1 表達式、表達式語句與賦值語句
3.1.2 程序結構
3.1.3 程序流程控制指令
3.1.4 人機交互語句
3.1.5 MATLAB程序的調試命令
3.2 函數句柄
3.2.1 函數句柄的創(chuàng)建與顯示
3.2.2 函數句柄的調用與操作
3.3 函數變量及其作用域
3.4 子函數與私有函數
3.5 程序設計的輔助函數
3.6 程序設計優(yōu)化
3.7 文件調用紀錄
3.7.1 profile函數
3.7.2 調用記錄結果的顯示
3.8 操作實例——編寫一個學生成績評定函數
第4章 二維圖形繪制
4.1 二維曲線的繪制
4.1.1 繪制二維圖形
4.1.2 多圖形顯示
4.1.3 函數圖形的繪制
4.2 圖形屬性設置
4.2.1 圖形窗口的屬性
4.2.2 坐標系與坐標軸
4.2.3 圖形注釋
4.3 三維繪圖
4.3.1 三維曲線繪圖命令
4.3.2 三維網格命令
4.3.3 三維曲面命令
4.3.4 柱面與球面
4.3.5 三維圖形等值線
4.4 三維圖形修飾處理
4.4.1 視角處理
4.4.2 顏色處理
4.4.3 光照處理
4.5 操作實例——繪制函數的三維視圖
第5章 圖形與圖像的處理
5.1 向量圖形
5.2 圖像處理及動畫演示
5.2.1 圖像的讀寫
5.2.2 圖像的顯示及信息查詢
5.2.3 動畫演示
5.3 操作實例——曲線的繪制
第6章 高等數學計算
6.1 數列
6.1.1 數列求和
6.1.2 數列求積
6.2 級數
6.2.1 級數求和
6.3 極限、導數
6.3.1 極限
6.3.2 導數
6.4 積分
6.4.1 定積分與廣義積分
6.4.2 不定積分
6.4.3 多重積分
6.5 積分變換
6.5.1 傅里葉(Fourier)積分變換
6.5.2 傅里葉(Fourier)逆變換
6.5.3 快速傅里葉(Fourier)變換
6.5.4 拉普拉斯(Laplace)變換
6.5.5 拉普拉斯(ilaplace)逆變換
6.6 復雜函數
6.6.1 泰勒(Taylor)展開
6.6.2 傅里葉(Fourier)展開
6.7 操作實例——高斯脈沖時域與頻域轉換
第7章 方程組
7.1 方程的運算
7.1.1 方程組的介紹
7.1.2 方程式的解
7.1.3 線性方程有解
7.2 線性方程組求解
7.2.1 線性方程組定義
7.2.2 利用矩陣的基本運算
7.2.3 利用矩陣分解法求解
7.2.4 非負最小二乘解
7.3 四元一次方程組求解
7.3.1 利用矩陣的逆
7.3.2 利用行階梯形求解
7.3.3 利用矩陣分解求解
7.4 非線性方程(組)的求解
7.4.1 非線性方程的求解
7.4.2 非線性方程組的求解
7.5 常微分方程的數值解法
7.5.1 歐拉(Euler)方法
7.5.2 龍格-庫塔(Runge Kutta)方法
7.5.3 龍格-庫塔(Runge-Kutta)方法解剛性問題
7.6 偏微分方程
7.6.1 介紹
7.6.2 區(qū)域設置及網格化
7.6.3 邊界條件設置
7.6.4 解橢圓型方程
7.6.5 解拋物型方程
7.6.6 解雙曲型方程
7.6.7 解特征值方程
7.6.8 解非線性橢圓型方程
7.7 操作實例——帶雅克比矩陣的非線性方程組求解
第8章 符號運算
8.1 符號與數值
8.1.1 符號與數值間的轉換
8.1.2 符號與數值間的精度設置
8.2 符號矩陣
8.2.1 符號矩陣的創(chuàng)建
8.2.2 符號矩陣的其他運算
8.2.3 符號多項式的簡化
8.3 多元函數分析
8.3.1 雅可比矩陣
8.3.2 實數矩陣的梯度
8.4 操作實例——希爾伯特矩陣
第9章 優(yōu)化設計
9.1 優(yōu)化問題概述
9.1.1 背景
9.1.2 最優(yōu)化問題的實現
9.1.3 基本概念及分支
9.2 MATLAB中的工具箱
9.2.1 MATLAB中常用的工具箱
9.2.2 工具箱和工具箱函數的查詢
9.3 優(yōu)化工具箱中的函數
9.4 優(yōu)化函數的變量
9.5 參數設置
9.5.1 參數值
9.5.2 optimset函數
9.5.3 optimget函數
9.6 模型輸入時需要注意的問題
9.7 @函數
9.8 優(yōu)化算法介紹
9.8.1 參數優(yōu)化問題
9.8.2 無約束優(yōu)化問題
9.8.3 擬牛頓法實現
9.8.4 最小二乘優(yōu)化
9.8.5 非線性最小二乘實現
9.8.6 約束優(yōu)化
9.8.7 SQP實現
9.9 線性規(guī)劃
9.9.1 表述形式
9.9.2 MATLAB求解
9.10 操作實例——最小化問題
第10章 圖形用戶界面設計
10.1 用戶界面概述
10.1.1 用戶界面對