MATLAB宝典_01.pdf
封面
书名
版权
前言
目录
第1章 MATLAB概述
1.1 MATLAB7.0简介
1.2 MATLAB7.0的安装
1.3 MATLAB7.0的工作环境
1.3.1 操作界面简介
1.3.2 运行命令窗口(Command Window)
1.3.3 命令窗口的显示方式
1.3.4 数值结果的显示方式
1.3.5 命令窗口的标点符号
1.3.6 输入变量
1.3.7 处理复数
1.3.8 命令窗口的控制命令
1.3.9 使用历史窗口
1.3.10 使用实录命令
1.3.11 当前目录管理器和路径管理
1.3.12 设置当前目录
1.3.13 MATLAB的搜索路径
1.3.14 工作空间浏览器和数组编辑器
1.3.15 变量的编辑命令
1.3.16 数组编辑器
1.3.17 存取数据文件
1.4 MATLAB7.0的帮助系统
1.4.1 纯文本帮助
1.4.2 演示(demo)帮助
1.4.3 帮助导航/浏览器
1.4.4 Contents帮助文件目录窗
1.4.5 Index帮助文件索引窗
1.4.6 Search帮助文件搜索窗
1.5 小结
第2章 MATLAB基础知识
2.1 创建数值数组
2.1.1 一维数组的创建方法
2.1.2 二维数组的创建方法
2.1.3 使用下标创建三维数组
2.1.4 使用低维数组创建三维数组
2.1.5 使用创建函数创建三维数组
2.1.6 创建低维标准数组
2.1.7 创建高维标准数组
2.2 操作数值数组
2.2.1 选取低维数组的对角元素
2.2.2 低维数组的形式转换
2.2.3 选取三角矩阵
2.2.4 Kronecker乘法
2.2.5 高维数组的对称交换
2.2.6 高维数组的维序号移动
2.2.7 高维数组的广义共轭转置
2.2.8 高维数组的降维操作
2.3 稀疏矩阵
2.3.1 稀疏矩阵的存储方式
2.3.2 使用sparse命令创建稀疏矩阵
2.3.3 使用spdiags命令创建稀疏矩阵
2.3.4 查看稀疏矩阵的信息
2.3.5 稀疏矩阵的图形化信息
2.4 字符串数组
2.4.1 直接输入法创建字符串数组
2.4.2 使用ASCII码创建字符串数组
2.4.3 使用函数创建字符串数组
2.4.4 处理字符串数组的空格
2.4.5 读取字符串数组的信息
2.5 构架数组
2.5.1 使用直接法创建单构架数组
2.5.2 使用直接法创建二维构架数组
2.5.3 使用直接法创建三维构架数组
2.5.4 使用命令创建构架数组
2.5.5 访问构架数组的数据
2.5.6 设置构架数组的域属性
2.6 小结
第3章 数值运算
3.1 矩阵分析
3.1.1 使用norm函数进行范数分析
3.1.2 使用normest函数进行范数分析
3.1.3 条件数分析
3.1.4 数值矩阵的行列式
3.1.5 符号矩阵的行列式
3.1.6 矩阵的化零矩阵
3.2 线性方程组
3.2.1 非奇异线性方程组
3.2.2 奇异线性方程组
3.2.3 欠定线性方程组
3.2.4 超定线性方程组
3.3 矩阵分解
3.3.1 Cholesky分解
3.3.2 使用Cholesky分解求解方程组
3.3.3 不完全Cholesky分解
3.3.4 LU分解
3.3.5 不完全LU分解
3.3.6 QR分解
3.3.7 操作QR分解结果
3.3.8 奇异值分解
3.4 特征值分析
3.4.1 特征值和特征向量
3.4.2 稀疏矩阵的特征值和特征向量
3.4.3 特征值问题的条件数
3.4.4 特征值的复数问题
3.5 函数的零点
3.5.1 一元函数的零点
3.5.2 多元函数的零点
3.6 数值积分
3.6.1 一元函数的数值积分
3.6.2 使用Simulink求解数值积分
3.6.3 求解瑕积分
3.6.4 矩形区域的多重数值积分
3.6.5 变量区域的多重数值积分
3.7 概率论和数理统计
3.7.1 双变量的概率分布
3.7.2 不同概率分布
3.7.3 数据分布分析
3.7.4 假设检验
3.8 小结
第4章 数据分析
4.1 插值
4.1.1 一维插值命令
4.1.2 一维插值实例
4.1.3 二维插值命令
4.1.4 二维插值实例
4.1.5 样条插值
4.1.6 牛顿插值原理
4.1.7 牛顿插值实例
4.1.8 Chebyshev多项式插值原理
4.1.9 Chebyshev多项式插值实例
4.2 曲线拟合
4.2.1 多项式拟合
4.2.2 加权最小方差(WLS)拟合原理
4.2.3 加权最小方差(WLS)拟合实例
4.3 曲线拟合图形界面
4.3.1 曲线拟合
4.3.2 绘制拟合残差图形
4.3.3 进行数据预测
4.4 傅里叶分析
4.4.1 离散Fourier变换
4.4.2 FFT和DFT
4.4.3 DFT的物理含义
4.4.4 使用DFS进行插值
4.5 优化
4.5.1 无约束非线性优化命令
4.5.2 无约束非线性优化实例
4.5.3 非线性最小方差命令
4.5.4 非线性最小方差实例
4.5.5 约束条件的非线性优化命令
4.5.6 约束条件的非线性优化实例
4.5.7 最小最大值的优化问题
4.5.8 对比实例
4.5.9 线性规划
4.5.10 二次规划
4.5.11 使用遗传算法求解二次规划
4.6 使用遗传算法求解优化
4.6.1 分析目标函数
4.6.2 优化求解
4.6.3 设置优化求解的可视化属性
4.6.4 设置遗传算法的属性
4.6.5 设置遗传算法的“种群”属性
4.6.6 设置遗传算法的“中止”属性
4.7 优化求解综合实例:优化“Banana”函数
4.7.1 分析目标函数
4.7.2 “Broyden-Fletcher-Goldfarb-Shanno”优化求解
4.7.3 “Davidon-Fletcher-Powell”优化求解
4.7.4 “无约束非线性”优化求解
4.7.5 “最小方差”优化求解
4.8 优化求解综合实例:复杂的二次规划
4.8.1 设置约束条件
4.8.2 定义目标函数
4.8.3 进行优化求解
4.8.4 绘制优化求解的结果
4.9 常微分方程
4.9.1 显性常微分方程
4.9.2 设置允许误差属性
4.9.3 设置输出参数属性
4.9.4 设置解法器其他属性
4.9.5 加权常微分方程
4.9.6 延迟微分方程命令
4.9.7 延迟微分方程实例
4.9.8 常微分方程的边界问题
4.9.9 边界问题实例
4.10 小结
第5章 符号计算
5.1 符号对象和符号表达式
5.1.1 sym命令
5.1.2 使用sym命令创建符号对象
5.1.3 使用syms命令创建符号对象
5.1.4 符号计算的运算符和函数
5.1.5 识别对象的命令
5.1.6 确定符号表达式中的变量
5.2 符号精度计算
5.3 符号表达式的操作
5.3.1 Collect函数
5.3.2 Expand函数
5.3.3 Factor函数
5.3.4 Horner函数
5.3.5 Numden函数
5.3.6 Simplify函数
5.3.7 Simple函数
5.3.8 Pretty函数
5.4 符号表达式的替换
5.4.1 Subexpr函数
5.4.2 Subs函数
5.5 符号函数的操作
5.5.1 Finverse函数
5.5.2 Compose函数
5.6 符号微积分
5.6.1 diff函数
5.6.2 化简微分结果
5.6.3 求解矩阵微分
5.6.4 向量微分Jacobian函数
5.6.5 符号极限
5.6.6 求解无限极限
5.6.7 求解左右极限
5.6.8 符号积分
5.6.9 矩阵积分
5.6.10 证明积分等式
5.6.11 交互近似积分
5.6.12 符号级数求和
5.7 符号积分变换
5.7.1 Fourier变换命令
5.7.2 Fourier变换实例
5.7.3 Laplace变换命令
5.7.4 Laplace变换实例
5.7.5 Z变换命令
5.7.6 Z变换实例
5.8 符号矩阵的计算
5.8.1 线性代数运算
5.8.2 特征值运算
5.9 符号代数方程的求解
5.9.1 solve命令
5.9.2 求解非线性方程组
5.9.3 求解含参数方程组
5.9.4 求解超越方程组
5.10 符号微分方程的求解
5.10.1 dsolve命令
5.10.2 求解常微分方程
5.10.3 求解二阶常微分方程
5.10.4 求解常微分方程组
5.11 利用Maple的资源
5.11.1 调用maple的相关命令
5.11.2 查看maple的帮助
5.12 可视化符号分析
5.12.1 单变量函数分析界面
5.12.2 泰勒级数逼近分析界面
5.13 小结
第6章 数据和函数的可视化
6.1 图形的基础知识
6.1.1 离散数据(函数)的可视化
6.1.2 连续函数的可视化
6.1.3 绘制图表的基础步骤
6.2 绘制二维曲线
6.2.1 plot命令
6.2.2 plot命令的实例
6.2.3 曲线的颜色、线型和数据点形
6.2.4 设置坐标轴范围
6.2.5 设置坐标轴显示方式
6.2.6 设置坐标轴系统
6.2.7 图形标识
6.2.8 叠绘
6.2.9 双坐标轴
6.2.10 多子图
6.2.11 交互式图形命令
6.2.12 交互式图形实例
6.2.13 fplot命令
6.2.14 使用fplot命令绘制图形
6.2.15 ezplot命令
6.2.16 使用ezplot命令绘制图形
6.3 绘制三维曲线
6.3.1 plot3命令
6.3.2 plot3命令实例
6.3.3 曲线图命令
6.3.4 曲线图实例
6.3.5 曲线图和等高线命令
6.3.6 曲面图命令
6.3.7 曲面图实例
6.4 特殊图形
6.4.1 area命令
6.4.2 面积图实例
6.4.3 bar命令
6.4.4 直方图实例
6.4.5 pie命令
6.4.6 二维饼图实例
6.4.7 三维饼图实例
6.4.8 quiver命令
6.4.9 矢量图实例
6.4.10 contour命令
6.4.11 二维等高线实例
6.4.12 三维等高线实例
6.4.13 伪色彩图
6.4.14 errorbar命令
6.4.15 误差棒形图实例
6.4.16 stem命令
6.4.17 二维离散杆图
6.4.18 三维离散杆图
6.4.19 散点图
6.4.20 极坐标图形
6.4.21 柱坐标图形
6.5 四维图形
6.5.1 slice命令
6.5.2 切片图实例
6.5.3 切面等位线图实例
6.5.4 流线切面图实例
6.6 三维图形的编辑
6.6.1 视角控制命令view
6.6.2 view命令实例
6.6.3 旋转控制命令rotate
6.6.4 rotate命令实例
6.6.5 设置背景颜色
6.6.6 设置图形颜色
6.6.7 设置数值轴的颜色
6.6.8 添加颜色标尺
6.6.9 设置图形的着色
6.6.10 照明控制light命令
6.6.11 light命令实例
6.6.12 照明控制lighting命令
6.6.13 lighting命令实例
6.6.14 材质控制material命令
6.6.15 material命令实例
6.6.16 透视控制
6.6.17 透明控制原理
6.6.18 透明控制实例
6.7 三维图形的简易命令
6.8 图形窗口
6.8.1 创建和控制图形窗口
6.8.2 使用工具栏编辑图形
6.8.3 使用绘图工具(plot tool)编辑图形
6.8.4 使用图形窗口进行数据分析
6.9 绘制复数变量图形
6.9.1 绘制复数图形原理
6.9.2 CPLXMAP命令
6.9.3 CPLXMAP命令图形实例
6.9.4 CPLXROOT命令
6.9.5 CPLXROOT命令图形实例
6.10 图形的打印和输出
6.10.1 图形打印的菜单操作方式
6.10.2 图形打印的命令操作方式
6.11 小结
第7章 MATLAB7.0基础编程
7.1 简单实例
7.1.1 编写函数文件
7.1.2 编写脚本文件
7.1.3 运行代码
7.1.4 检测代码
7.2 M文件编辑器
7.2.1 打开文件编辑器
7.2.2 设置M文件编辑器
7.2.3 设置M文件编辑器的打印属性
7.3 MATLAB的变量和关系式
7.3.1 M文件的变量类型
7.3.2 M文件的关键字
7.3.3 关系表达式
7.3.4 关系表达式的优先级
7.3.5 截断误差问题
7.3.6 逻辑表达式
7.3.7 逻辑运算函数
7.4 MATLAB的程序结构
7.4.1 顺序结构
7.4.2 if分支结构
7.4.3 switch分支结构
7.4.4 try-catch结构
7.4.5 while循环结构
7.4.6 for循环结构
7.4.7 综合实例
7.5 MATLAB的控制语句
7.5.1 continue命令
7.5.2 break命令
7.5.3 return命令
7.5.4 input命令
7.5.5 keyboard命令
7.5.6 error和warning命令
7.6 程序的向量化概念
7.6.1 程序的向量化
7.6.2 向量化和循环结构对比
7.6.3 逻辑数组
7.6.4 使用logical命令创建逻辑数组
7.6.5 逻辑数组和向量化
7.7 脚本和函数
7.7.1 脚本文件
7.7.2 脚本文件实例
7.7.3 函数文件
7.7.4 函数文件实例
7.7.5 P码文件
7.7.6 P码文件实例
7.8 变量传递
7.8.1 变量检测命令
7.8.2 “变长度”变量函数
7.8.3 “变长度”变量实例
7.8.4 跨空间计算表达式的数值
7.8.5 跨空间赋值
7.9 字符串演算函数
7.9.1 inline函数
7.9.2 使用inline函数求解零点
7.9.3 使用inline函数绘制图形
7.9.4 使用inline函数求解极值
7.10 程序的调试和剖析
7.10.1 直接调试法
7.10.2 直接调试法实例
7.10.3 工具调试法
7.10.4 工具调试法实例
7.10.5 程序剖析
7.10.6 程序剖析实例
7.11 小结
第8章 Simulink仿真系统
8.1 Simulink的基础知识
8.1.1 Simulink概述
8.1.2 安装Simulink
8.1.3 启动Simulink
8.1.4 添加Simulink模块
8.1.5 设置模块的属性
8.1.6 连接模块
8.1.7 运行仿真系统
8.1.8 模块库浏览器
8.1.9 Simulink模型窗口界面
8.1.10 “File”菜单
8.1.11 “Edit”菜单
8.1.12 “View”菜单
8.1.13 “Simulation”菜单
8.1.14 “Help”菜单
8.2 Simulink的数据类型
8.2.1 Simulink支持的数据类型
8.2.2 Simulink中的数据传递
8.2.3 Simulink中的数据转换实例
8.2.4 向量化模块
8.2.5 使用Mux模块
8.2.6 标量扩展
8.3 Simulink的基本操作
8.3.1 Simulink模型的工作原理
8.3.2 模块的操作
8.3.3 复制和移动模块
8.3.4 显示模块的属性数值
8.3.5 添加模块的阴影效果
8.3.6 操作模块名称
8.3.7 显示模块的输出数值
8.3.8 连接线的分支
8.3.9 移动连接线的节点
8.3.10 彩色显示信号线
8.3.11 添加信号线标识
8.3.12 设置连接线的属性
8.4 Simulink的信号
8.4.1 创建信号
8.4.2 添加信号标签
8.4.3 显示信号数值
8.4.4 复数信号
8.4.5 虚拟信号
8.4.6 控制信号
8.4.7 信号总线(Signal Buses)
8.4.8 信号组
8.4.9 使用自定义信号源
8.4.10 信号接收器
8.5 Simulink仿真的设置
8.5.1 设置解算器参数
8.5.2 仿真数据的输入输出设置
8.5.3 仿真诊断设置
8.6 Simulink线性系统建模
8.6.1 线性系统建模简介
8.6.2 线性系统建模实例
8.6.3 “积分器”模块的工作原理
8.6.4 设置初始状态数值
8.6.5 设置积分限制
8.6.6 重设积分状态
8.6.7 设置积分状态端口
8.7 非线性系统建模
8.7.1 非线性系统建模简介
8.7.2 非线性系统建模实例
8.8 小结
第9章 Simulink仿真的高级技术
9.1 子系统
9.1.1 子系统的基础知识
9.1.2 使用子系统模块创建子系统
9.1.3 使用模块组合子系统
9.2 子系统实例
9.2.1 添加控制信号
9.2.2 添加子系统模块
9.2.3 添加显示模块
9.2.4 运行仿真系统
9.3 封装子系统
9.3.1 封装子系统的创建方法
9.3.2 封装子系统的步骤
9.4 封装子系统实例
9.4.1 添加“Bang-Bang Controller”子系统
9.4.2 添加“brake torque”子系统
9.4.3 添加“tire torque”子系统
9.4.4 添加子系统的程序代码
9.4.5 添加“Subsystem”子系统
9.4.6 运行仿真系统
9.5 使能(Enabled)子系统
9.5.1 创建使能子系统
9.5.2 使能子系统实例
9.6 触发(Triggered)子系统
9.6.1 触发子系统简介
9.6.2 触发子系统的属性
9.7 触发子系统实例
9.7.1 添加系统模块
9.7.2 设置“Throttle & Manifold”子系统属性
9.7.3 设置“Intake”子系统属性
9.7.4 设置“Compression”子系统属性
9.7.5 设置“Combustion”子系统属性
9.7.6 设置“Drag Torque”子系统属性
9.7.7 设置“Vehicle Dynamics”子系统属性
9.7.8 设置“valve timing”子系统属性
9.7.9 运行仿真系统
9.8 S函数(S-Function)
9.8.1 S函数概述
9.8.2 S函数的运行机理
9.8.3 S函数模板
9.8.4 添加S函数模块
9.8.5 添加S函数程序代码
9.8.6 运行仿真
9.9 S函数实例
9.9.1 添加系统模块
9.9.2 添加S函数的程序代码
9.9.3 添加子系统模块
9.9.4 运行仿真系统
9.10 仿真结果分析
9.10.1 分析Simulink模型的特征
9.10.2 Sim命令
9.10.3 Sim命令实例
9.10.4 simset命令
9.10.5 simset命令实例
9.10.6 模型的线性化命令
9.10.7 模型的线性化实例
9.10.8 系统平衡点分析
9.11 综合实例1:交替执行系统
9.11.1 添加系统模块
9.11.2 设置系统模块的属性
9.11.3 添加“Enabled”子系统
9.11.4 运行仿真系统
9.12 综合实例2:雷达轨迹分析
9.12.1 系统模块简介
9.12.2 添加系统模块
9.12.3 添加“Cross-Axis Acceleration Model”子系统
9.12.4 添加“Cartesian to Polar”子系统
9.12.5 添加“Radar Kalman Filter”子系统
9.12.6 添加程序代码
9.12.7 运行仿真系统
9.13 小结
第10章 句柄图形
10.1 句柄图形体系
10.1.1 图形对象
10.1.2 句柄对象
10.1.3 句柄图形的结构
10.1.4 图形对象的属性
10.2 图形句柄的操作
10.2.1 创建图形对象
10.2.2 创建图形对象实例
10.2.3 访问图形对象的句柄
10.2.4 访问图形句柄实例
10.2.5 使用句柄操作图形对象
10.3 图形对象的操作
10.3.1 set命令
10.3.2 set命令实例
10.3.3 使用结构体设置属性
10.3.4 查询图形对象的属性
10.3.5 查看图形对象的默认属性
10.3.6 设置不同级别的属性
10.3.7 设置图形对象的默认属性
10.4 高层绘图命令
10.4.1 NextPlot属性
10.4.2 Newplot命令
10.4.3 高层绘图文件的构成
10.5 坐标轴对象
10.5.1 坐标轴的几何属性
10.5.2 坐标轴的刻度属性
10.5.3 坐标轴的照相机属性
10.6 综合实例
10.6.1 穿越(fly-through)图形
10.6.2 动态反射图形
10.7 小结
第11章 图形用户界面(GUI)制作
11.1 图形用户界面概述
11.2 使用M文件创建GUI对象
11.2.1 编写程序代码
11.2.2 运行程序代码
11.3 使用GUIDE创建GUI对象
11.3.1 启动GUIDE
11.3.2 添加控件组件
11.3.3 设置控件组件的属性
11.3.4 编写相应的程序代码
11.3.5 运行GUI对象
11.3.6 GUIDE创建GUI的注意事项
11.3.7 重画行为(Resize behavior)
11.3.8 命令行访问(Command-Line Accessibility)
11.3.9 生成FIG文件和M文件(Generate FIG-file and M-file)
11.3.10 仅生成FIG文件(Generate FIG-file only)
11.4 定制标准菜单
11.5 使用GUIDE创建自定义菜单
11.5.1 创建图形界面
11.5.2 使用图形界面工具栏
11.5.3 添加图形界面的控件
11.5.4 添加“File”菜单的回调函数
11.5.5 添加“Thresholding Method”菜单的回调函数
11.5.6 添加滚动条的回调函数
11.5.7 添加其他控件的回调函数
11.5.8 编写主调函数
11.5.9 运行GUI
11.6 使用M文件创建自定义菜单
11.6.1 演示GUI的功能
11.6.2 添加“File”菜单的程序代码
11.6.3 添加“Options”菜单的程序代码
11.6.4 添加“Graphs”菜单的程序代码
11.6.5 添加主调函数
11.6.6 演示GUI对象
11.7 创建现场菜单
11.7.1 编写GUI的程序代码
11.7.2 演示GUI对象
11.8 创建GUI对象的用户控件
11.8.1 添加控件组件
11.8.2 添加控件的程序代码
11.8.3 运行程序代码
11.9 综合案例
11.9.1 分析GUI对象
11.9.2 规划GUI的设计过程
11.9.3 创建GUI的工具栏对象
11.9.4 准备图形对象的基础文件
11.9.5 处理指针对象
11.9.6 处理对象的属性
11.9.7 编写主程序代码
11.9.8 设置GUI对象的菜单选项
11.9.9 检测程序代码
11.10 小结
第12章 文件I/O
12.1 处理文件名称
12.2 打开和关闭文件
12.2.1 打开文件
12.2.2 关闭文件
12.3 处理二进制文件
12.3.1 读取M文件
12.3.2 读取TXT文件
12.3.3 写入二进制文件
12.4 处理文本文件
12.4.1 读取文本文件
12.4.2 使用csvwrite命令读入文本文件
12.4.3 使用dlmwrite命令读入文本文件
12.5 处理图像
12.6 小结
第13章 MATLAB编译器
13.1 编译器概述
13.1.1 编译器的功能
13.1.2 Complier 4.0的性能改进
13.2 编译器的安装和配置
13.2.1 前提准备
13.2.2 配置编译器
13.3 编译过程
13.3.1 安装MCR
13.3.2 代码的编译过程
13.4 编译命令
13.4.1 编译命令的格式和选项
13.4.2 处理脚本文件
13.5 创建独立运行的程序
13.5.1 编译M文件
13.5.2 编译M和C的混合文件
13.5.3 编译包含绘图命令的M文件
13.6 小结
第14章 应用程序接口
14.1 C语言MEX文件
14.1.1 MEX文件的数据
14.1.2 MEX文件的结构
14.1.3 MEX文件的实例
14.2 MAT文件
14.2.1 使用C语言创建MAT文件
14.2.2 使用Fortran语言创建MAT文件
14.3 MATLAB引擎技术
14.3.1 引擎技术概念
14.3.2 引擎技术应用
14.4 Java接口
14.4.1 Java接口语言基础
14.4.2 Java接口应用
14.5 小结