A1_内容简介
内 容 简 介
A2_前言
前 言
1. 编写背景
2. 编写宗旨及特点
3. 内容简介
4. 读者对象
5. 使用建议
6. 致 谢
ch01_基础准备及入门
第 1 章 基础准备及入门
1.1 MATLAB的安装和工具包选择
1.2 Desktop操作桌面的启动
1.2.1 MATLAB的启动
1.2.2 Desktop操作桌面简介
1.3 Command Window运行入门
1.3.1 Command Window指令窗简介
1.3.2 最简单的计算器使用法
1.3.3 数值、变量和表达式
1 数值的记述
2 变量命名规则
3 MATLAB默认的数学常数
4 运算符和表达式
5 面向复数设计的运算——MATLAB特点之一
6 面向数组设计的运算——MATLAB特点之二
1.4 Command Window操作要旨
1.4.1 指令窗的显示方式
1 默认的输入显示方式
2 运算结果的显示
3 显示方式的永久设置
1.4.2 指令行中的标点符号
1.4.3 指令窗的常用控制指令
1.4.4 指令窗中指令行的编辑
1.5 Command History历史指令窗
1.5.1 Command History历史指令窗简介
1.5.2 历史指令的再运行
1.6 Current Directory、路径设置器和文件管理
1.6.1 Current Directory当前目录浏览器简介
1.6.2 用户目录和当前目录设置
1.6.3 MATLAB的搜索路径
1.6.4 MATLAB搜索路径的扩展
1 何时需要修改搜索路径
2 利用设置路径对话框修改搜索路径
3 利用指令path 设置路径
1.7 工作空间浏览器和变量编辑器
1.7.1 工作空间浏览器和变量可视化
1.7.2 工作空间的管理指令
1 查询指令who及whos
2 从工作空间中删除变量和函数的指令
3 整理工作空间内存碎片的指令pack
1.7.3 Variable Editor变量编辑器
1.7.4 数据文件和变量的存取
1 借助工作空间浏览器产生保存变量的MAT文件
2 借助输入向导Import Wizard向工作空间装载变量
3 存取数据的操作指令save 和load
1.8 Editor/Debugger和脚本编写初步
1.8.1 Editor/Debugger M文件编辑器简介
1.8.2 M脚本文件编写初步
1.9 帮助系统及其使用
1.9.1 帮助体系的三大系统
1.9.2 常用帮助指令
1 函数搜索指令
2 词条搜索指令
1.9.3 Help 帮助浏览器
1 帮助浏览器的导出
2 帮助浏览器界面简介
3 帮助浏览器默认显示的利用
ch02_数值数组及向量化运算
第 2 章 数值数组及向量化运算
2.1 数值数组的创建和寻访
2.1.1 一维数组的创建
1 递增/减型一维数组的创建
2 其他类型一维数组的创建
2.1.2 二维数组的创建
1 小规模数组的直接输入法
2 中规模数组的数组编辑器创建法
3 中规模数组的M文件创建法
4 利用MATLAB函数创建数组
2.1.3 二维数组元素的标识和寻访
1 数组的维数和大小
2 数组的标识和寻访
2.1.4 数组的扩缩和特殊操作
1 数组的扩充和收缩
2 数组的特殊操作
3 数组操作函数汇总
2.2 数组运算
2.2.1 数组运算的由来和规则
1 函数关系数值计算模型的分类
2 提高程序执行性能的三大措施
3 数组运算规则
4 数组运算符及数组运算函数
2.2.2 数组运算和向量化编程
2.2.3 数组特殊运算指令汇总
2.3 高维数组
2.3.1 高维数组的创建
2.3.2 高维数组的孤维删除
2.3.3 高维数组的维度重排
2.4 “非数”和“空”数组
2.4.1 非数NaN
2.4.2 “空”数组
2.5 关系操作和逻辑操作
2.5.1 关系操作
2.5.2 逻辑操作
2.5.3 常用逻辑函数
ch03_字符串、胞元和构架数组
第 3 章 字符串、胞元和构架数组
3.1 MATLAB的数据类型
3.2 字符串数组
3.2.1 串数组的属性和标识
3.2.2 复杂串数组的创建
1 多行字符串数组的创建
2 利用胞元数组创建复杂字符串
3.2.3 串转换函数
3.2.4 串操作函数
3.3 胞元数组
3.3.1 胞元数组的创建和显示
1 胞元标识寻访和内容编址寻访的不同
2 胞元数组的创建和显示
3.3.2 胞元数组的扩充、收缩和重组
3.3.3 胞元数组内容的获取和配置
3.3.4 胞元与数值数组之间的转换
3.3.5 对胞元数组运算的cellfun指令
3.3.6 胞元数组的操作函数汇总
3.4 构架数组
3.4.1 构架数组的创建和显示
1 直接创建法及显示
2 利用构造函数创建构架数组
3.4.2 构架数组域中内容的调取和设置
3.4.3 构架数组的扩缩、域的增删和域名重排
3.4.4 构架数组和胞元数组之间的转换
3.4.5 对构架域运算的structfun和arrayfun指令
3.4.6 构架数组的操作函数汇总
ch04_数值计算
第 4 章 数值计算
4.1 MATLAB的浮点数体系
4.2 数值微积分
4.2.1 数值极限
4.2.2 数值差分
4.2.3 数值积分(Numerical Integration)
1. 一元函数积分(Quadrature)
2. 样条法求一元数值积分
3. 用SIMULINK求一元数值积分
4.2.4 多重数值积分
1. 常限重积分
2. 变限重积分
4.3 矩阵分析
4.3.1 矩阵运算和特征参数
1. 矩阵运算
2. 矩阵的标量特征参数
4.3.2 奇异值分解和矩阵结构
1. 奇异值分解
2. 与奇异值相关的矩阵结构
4.4 特征值分解和矩阵函数
4.4.1 特征值分解问题
4.4.2 矩阵的谱分解和矩阵函数
4.5 解线性方程
4.5.1 求解线性方程的相关指令
4.5.2 线性方程矩阵除解法
4.5.3 线性二乘问题的解
4.5.4 一般代数方程的解
4.6 随机变量的产生及其特征描述
4.6.1 随机数的产生及重现控制
1. 默认全局随机流的简明管理指令
2. 三种基本随机数发生指令
3. 用户随机流的创建和使用
4. 随机流的重现控制
5. 独立随机数序列和随机流的产生
6. 随机数重现控制旧版指令的使用建议
4.6.2 数据样本分布可视化描述
4.6.3 随机分布的数字特征及其统计量
1. 随机分布的中心位置统计量
2. 随机分布的聚散度统计量
3. 斜度和峭度高阶统计量
4.7 多项式运算和卷积
4.7.1 多项式的运算函数
1. 多项式表达方式的约定
2. 多项式运算函数
4.7.2 卷积
1. 两有限长序列的卷积
2. 有限长序列与无限长序列的卷积
4.8 多项式拟合和非线性最小二乘
4.8.1 线性拟合和最小二乘
4.8.2 多项式拟合
4.8.3 非线性最小二乘拟合
1. 伪线性化处理
2. 非线性最小二乘拟合
4.9 插值和样条
4.9.1 一维插值
4.9.2 高维函数的插值
4.9.3 样条插值
4.9.4 样条函数的应用
1. 样条函数的微积分
2. 样条函数的零点和最小值
4.10 Fourier分析
4.10.1 快速Fourier变换和逆变换指令
4.10.2 连续时间函数的Fourier级数展开
1. 展开系数的积分求取法
2. Fourier级数与DFT之间的数学联系
3. MATLAB算法实现
4.10.3 利用DFT计算连续函数Fourier变换CFT
1. CFT与DFT之间的数学联系
2. MATLAB算法实现
4.11 常微分方程
4.11.1 常微分方程初值问题的解算
1. 求解初值问题的思路
2. 解算指令的调用格式
3. 解算指令的属性及其设置
4. 嵌套函数法传递解算参数
5. 匿名函数法传递解算参数
6. 带事件设置的微分方程解算
4.11.2 常微分方程的边值问题解
1. bvp4c求解边值问题的思路
2. 求解边值问题的配套指令
3. 求解含未知参数的边值问题
4.12 最小值优化问题
4.12.1 MATLAB最小值优化指令概述
4.12.2 单变量局域优化指令fminbnd
4.12.3 多变量无约束局域优化指令fminsearch
4.12.4 多变量约束局域优化指令fmincon
4.12.5 GlobalSearch实施的全域优化
ch05_符号计算
第 5 章 符号计算
5.1 符号对象的产生和识别
5.1.1 基本符号对象的创建
1 定义符号数字和符号常数
2 定义基本符号变量
3 定义元符号表达式
5.1.2 符号计算中的算符和函数指令
1 符号计算中的算符
2 符号计算中的函数指令
5.1.3 符号对象、变量、自由变量的识别
1 符号对象的识别
2 符号变量及自由变量的认定
5.1.4 符号运算机理和变量假设
1 符号运算的工作机理
2 对符号变量的限定性假设
3 清除变量和撤销假设
5.1.5 符号帮助及其他常用指令
1 符号运作的帮助体系
2 服务于符号运作的其他指令
5.2 数字类型转换及符号表达式操作
5.2.1 数字类型及转换
1 三种数字类型及转换指令
2 双精度数字向符号数字转换
3 符号数字向双精度数字转换
4 符号数字的任意精度表达形式
5.2.2 符号表达式的简化操作
5.2.3 表达式中的置换操作
1 公因子法简化表达
2 通用置换指令
5.3 符号微积分
5.3.1 极限和导数的符号计算
5.3.2 序列/级数的符号求和
5.3.3 符号积分
5.4 微分方程的符号解法
5.4.1 符号解法和数值解法的互补作用
5.4.2 求微分方程符号解的一般指令
5.4.3 微分方程符号解示例
5.5 符号变换和符号卷积
5.5.1 Fourier变换及其反变换
5.5.2 Laplace变换及其反变换
5.5.3 Z变换及其反变换
5.5.4 符号卷积
5.6 符号矩阵分析和代数方程解
5.6.1 符号矩阵分析
5.6.2 线性方程组的符号解
5.6.3 一般代数方程组的解
5.7 符号算法的综合应用
5.7.1 三维根轨迹和数据探索
5.7.2 代数状态方程求符号传递函数
1 结构框图的代数状态方程解法
2 信号流图的代数状态方程解法
3 多输入多输出系统传递矩阵的求取
5.8 符号计算结果的可视化
5.8.1 直接可视化符号表达式
1 单独立变量符号函数的可视化
2 双独立变量符号函数的可视化
5.8.2 符号计算结果的数值化绘图
5.8.3 可视化与数据探索
5.9 符号计算资源的数值环境应用
5.9.1 符号表达式、串操作及数值计算M码间的转换
5.9.2 符号工具包资源表达式转换成M码函数
1 转换指令matlabFunction
2 把符号包资源转换成M码函数的示例
3 把MuPAD资源转换为M码函数的示例
5.9.3 用符号表达式创建SIMULINK用户模块
1 转换指令emlBlock
2 把符号包资源转换为SIMULINK模块的示例
5.10 MuPAD资源的深层利用
5.10.1 借助mfun调用MuPAD特殊函数
5.10.2 直接调用MuPAD的函数
1 非mfunlist列表MuPAD函数的调用步骤
2 借助evalin运行MuPAD函数
3 借助feval运行MuPAD函数
ch06_数据可视及探索
第 6 章 数据可视及探索
6.1 引导
6.1.1 离散数据和离散函数的可视化
6.1.2 连续函数的可视化
6.1.3 可视化的一般步骤
1. 绘制二维图形的一般步骤
2. 绘制三维图形的一般步骤
6.2 二维线图及修饰操作
6.2.1 基本指令plot的调用格式
1. 基本调用格式
2. 衍生调用格式
3. 带属性设置的调用格式
6.2.2 坐标控制和图形标识
1. 坐标轴的控制
2. 分格线和坐标框
3. 图形标识指令
4. 标识字符的精细控制
6.2.3 多次叠绘、双纵坐标和多子图
1. 多次叠绘
2. 双纵坐标图
3. 多子图
6.3 三维绘图及修饰操作
6.3.1 三维线图指令plot3
6.3.2 三维曲面/网线图指令
1. 基本调用格式
2. 衍生调用格式
3. 色图colormap
4. 浓淡处理shading
6.3.3 视点控制和图形的旋动
1. 视点控制view
2. 图形旋动rotate
6.3.4 光照、材质和透视
1. 光照light
2. 材质处理material
3. 透明处理
6.3.5 消隐、镂空和裁切
1. 网线的消隐
2. 图形的镂空
3. 裁切
6.4 高维可视化
6.4.1 二维半图线
6.4.2 准四维表现
6.4.3 四维切片及等位线
6.5 动态图形
6.5.1 高层指令生成动态图形
1. 彗星状轨迹图
2. 色图的变幻
3. 影片动画
6.5.2 低层指令生成实时动画
6.6 特殊图形指令
6.6.1 彩色份额图
1. 面域图area
2. 直方图bar, barh, bar3, bar3h
3. 饼图pie, pie3
6.6.2 有向线图
6.6.3 多面体异形图
1. 德洛奈三角剖分和Voronoi图
2. 填色图fill,fill3
3. 不规则数据的网线图和曲面图
4. 彩带图ribbon
6.6.4 散点图scatter和plotmatrix
6.6.5 泛函绘图指令fplot
6.7 图象
6.7.1 图象的类别和显示
6.7.2 图象的读写
6.8 图形窗的编辑探索功能
6.8.1 图形窗的结构
1. 图形窗的功能分区
2. 图形窗工具条
3. 主要构件与对应菜单
6.8.2 指令鼠标混合操作生成绘图文件
6.8.3 数据探针
6.8.4 数据刷
6.8.5 数据链和数据联动
ch07_M文件和函数句柄
第 7 章 M文件和函数句柄
7.1 M码编程的基本构件
1 变量
2 运算及运算符
3 标点符号
4 关键词
5 特殊值
6 MATLAB函数
7 指令及指令行
7.2 MATLAB的数据流控制
7.2.1 for循环和while循环控制
1 循环结构的基本形式
2 辅助控制指令continue和break
7.2.2 if-elseif-else条件分支控制
7.2.3 switch-case切换多分支控制
7.2.4 try-catch容错控制
7.2.5 编程用的其他指令
1 return返回和pause暂定
2 error出错信息和warning警告
3 与键盘交互指令input 和 keyboard
7.3 M文件和P文件
7.3.1 M文件
1 M脚本文件
2 M函数文件
7.3.2 P码文件的创建、查询和清除
7.4 MATLAB的函数类别
7.4.1 主函数和子函数
1 主函数
2 子函数
7.4.2 匿名函数
1 匿名函数及其句柄的创建
2 匿名函数的调用
7.4.3 嵌套函数
1 嵌套函数的结构特点
2 调用规则
3 变量作用域
7.5 函数句柄
7.5.1 函数作用域和优先等级
7.5.2 函数句柄的创建
1 直接句柄创建法
2 匿名句柄创建法
7.5.3 函数句柄的调用格式
1 直接句柄调用格式
2 匿名句柄调用格式
7.5.4 观察函数句柄的内涵
7.6 泛函演算指令
7.6.1 eval
7.6.2 feval
7.6.3 内联对象
7.7 变量的使用域和跨内存交换
7.7.1 输入输出检测指令
7.7.2 “变长度”输入输出量
7.7.3 局域变量、全域变量和持存变量
1 局域变量
2 全域变量
3 持存变量
7.7.4 跨内存计算及赋值
1 跨内存计算串表达式
2 跨内存赋值
7.8 编辑调试器的应用深入
7.8.1 词串彩化和定界符匹配提示
1 词串彩化
2 定界符匹配提示
7.8.2 M-Lint 代码分析器
1 检测信息的界面静态标识
2 详细检测信息的鼠标动态获取
7.8.3 M文件调试器
1 直接调试法
2 交互式调试器的界面
3 调试器应用示例
ch08_Simulink交互式仿真
第 8 章 Simulink交互式仿真
8.1 引导
8.1.1 Simulink模型本质和一般结构
8.1.2 创建块图模型的方法和基本环境
8.2 连续系统建模
8.2.1 微分方程建模和积分模块
1 微分方程块图模型的创建和操作细节
2 创建微分方程的向量化块图模型
3 积分模块
8.2.2 状态空间建模
1 状态空间模块及其建模应用
2 模型内存和模型浏览器
8.2.3 传递函数建模及模型内存的操控
1 单位脉冲信号的近似实现
2 传递函数模块和非零初始系统建模
8.3 子系统和分层模型
8.3.1 创建简装子系统的套装法
8.3.2 创建简装子系统的容器法
8.3.3 精装子系统和装帧编辑器
8.4 使能触发子系统
8.4.1 使能子系统
1 子系统结构和工作原理
2 子系统非状态输出的两种形态
3 子系统状态输出的四种形态
8.4.2 触发子系统
1 子系统的结构和工作原理
2 子系统的三种触发方式
8.5 Simulink的控制流
8.5.1 For 环
8.5.2 While环
8.5.3 If-else条件转向和信号合成
8.6 离散时间系统和混合系统
8.6.1 单位延迟模块和差分方程建模
1 单位延迟模块
2 差分方程的标量法建模
3 差分方程组的向量建模法
8.6.2 离散积分模块和混合系统
1 离散时间积分模块
2 混合系统的s变量替换法
8.6.3 多速率系统的色彩标识
8.7 Simulink的分析工具
8.7.1 模型和模块信息的获取
1 模型状态及输入输出特征的获取
2 模型/模块参数的指令获知和设置
8.7.2 用Sim指令运行Simulink模型
1 运行块图模型的sim指令
2 sim指令的参数名/值设置法
3 sim指令的参数构架设置法
8.7.3 模型的线性化问题
1 线性化的数学描述
2 模型线性化
8.7.4 系统平衡点和普通状态轨线图
8.7.5 M码和Simulink模型的综合运用
1 单步仿真和精良状态轨线图
2 仿真模型和优化指令的协调
8.8 数值计算方面的考虑
8.8.1 微分方程解算器Solver
1 ode45和ode23运作机理简要
2 ode113运作机理简要
3 ode15s和ode23s运作机理简要
4 不同解算器解Stiff方程的表现
8.8.2 积分步长和容差
1 积分步长的选择
2 计算容差的选择
8.8.3 代数环问题
1 无惯性模块和代数环
2 消减代数环影响
8.9 S函数模块的创建和应用
8.9.1 S函数概述
8.9.2 S函数模块及其运作机理
1 开发S函数模块的一般步骤
8.9.3 M码S函数
1 两个级别的M码S函数
2 对二级M码S函数模版的注释
3 二级M码S函数模块设计示例
ch09_图形用户界面(GUI)
第 9 章 图形用户界面GUI
9.1 设计原则和一般步骤
9.1.1 设计原则
9.1.2 一般制作步骤
9.2 借助GUIDE创建GUI
9.2.1 GUIDE通览
1 GUIDE的启动
2 Preferences 设置对版面编辑器的影响
3 GUIDE的功能分区
4 待设计用户界面的性状预设
5 设计区的坐标参照和位置编排器
6 控件组件属性值的初始设置
7 创建界面的文件保存和再命名
9.2.2 控件的运作机理及创建
1 各控件的运作机理
2 常需设置的控件通用属性
9.2.3 GUI界面的创建示例
1 二阶系统阶跃响应演示界面
2 多指令输入的演示界面
9.2.4 界面菜单和工具图标的创建
1 标准菜单条和工具条的配置
2 定制菜单的创建和变量handles的观察
3 现场菜单创建和Tag属性应用
9.3 全手工编程创建GUI
9.3.1 采用M脚本文件创建用户界面
9.3.2 采用嵌套函数创建用户界面
D1_附录A_Notebook
附录A: Notebook
A.1 Notebook的配置和启动
A.1.1 Notebook的配置
A.1.2 Notebook的启动
1 创建新的M-book文件
2 打开已有的M-book文件
A.2 M-book模板的使用
A.2.1 输入细胞(群)的创建和运行
1 细胞(群)
2 基本操作
3 输入细胞(群)操作示例
A.2.2 Notebook菜单的其他选项
1 自初始化细胞及其应用
2 整个M-book文件的运行
3 删去M-book 文件所有输出细胞
A.2.3 输出细胞的格式控制
1 数据输出的表示形式控制
2 图形的嵌入控制
3 嵌入图形大小的控制
4 嵌入图形的背景色问题
A.3 使用M-book模板的若干注意事项
D2_附录B_光盘使用说明
附录B: 光盘使用说明
B.1 光盘文件的结构
B.2 关于光盘第一级目录和文件的说明
B.3 光盘对软件环境的要求
B.4 光盘文件的操作准备
B.5 mbook目录上DOC文件的使用
B.6 mfile目录上的M、MDL文件的使用
D3_附录C_索引
附录C: 索 引
C.1 MATLAB的标点及符号
算术运算符Arithmetic operators
关系运算符 Relational operators
逻辑运算符 Logical operators
特殊符号Special characters
C.2 MATLAB的函数及指令Functions and Commands
A a
B b
C c
D d
E e
F f
G g
H h
I i
J j , K k
L l
M m
N n
O o
P p
Q q
R r
S s
T t
U u
V v
W w
X x , Y y , Z z
C.3 SIMULINK的库模块
E_参考文献