MATLAB R2008数学和控制实例教程
2009-9
曹岩 化学工业出版社 (2009-09出版)
曹岩 编
330
MATLAB是由美国MathWorks公司推出的用于数值计算和图形处理的科学计算系统环境。MATLAB是英文MATrix LABoratory(矩阵实验室)的缩写。该公司于1984年推出了第一个MATLAB的商业版本。当时的MATLAB版本已经用C语言作了完全的改写,其后又增添了丰富多彩的图形图像处理、多媒体功能、符号运算和它与其他流行软件的接口功能,使得MATLAB的功能越来越强大。目前,MATLAB已经成为国际上最流行的科学与工程计算的软件工具,现在的MATLAB已经不仅仅是一个“矩阵实验室”,它已经成为一种具有广泛应用前景的全新的计算机高级编程语言,有人称它为“第四代”计算机语言,在国内外研究部门和高校正扮演着重要的角色。MATLAB语言的功能也越来越强大,不断适应新的要求提出新的解决方法。可以预见,在科学运算、自动控制与科学绘图领域MATLAB语言将长期保持其独一无二的地位。本书从使用者的角度出发,通过融经验技巧于一体的典型实例讲解,系统介绍MATLAB R 2008的基本功能与使用,包括MATLAB基础、数值计算、符号计算、程序设计、数据和函数的可视化、神经网络工具箱函数、信号处理工具箱的功能和使用方法。其主要内容如下。(1)系统概论:介绍MATLAB R2008的用户界面、常用的变量与符号、M文件的编辑调试环境、常用的通用命令与常用数学函数、帮助系统等。(2)MATLAB在函数可视化中的应用:通过图形,从一堆杂乱的离散数据中观察数据间的内在关系,感受由图形所传递的内在本质。(3)MATLAB在仿真建模中的应用:Simulink提供了一个系统级阶的建模与动态仿真的图形用户环境,建立起了从设计构思到最终要求的可视化桥梁。(4)MATLAB在概率统计中的应用:介绍MATLAB在统计变量的数学特征、常用统计分布、常用随机数的产生、参数估计、区间估计、假设检验、方差分析、回归诊断和统计图的绘制等方面的应用。(5)MATLAB在计算方法中的应用:介绍MATLAB在插值与拟合、微分和积分、线性方程组、非线性方程组、特征值问题和常微分方程的解法。(6)MATLAB在遗传算法中的应用:介绍遗传算法数学模型的MATLAB描述及在MATLAB中对遗传算法进行分析与设计的函数、工具和方法。(7)MATLAB在复变函数中的应用:介绍使用MATLAB来进行复变函数的各种运算、留数的概念及MATLAB的实现、Taylor展开、Laplace变换和Fourier变换。(8)MATLAB在神经网络中的应用:介绍MATLAB R2008神经网络的图形用户界面,神经网络感知器、BP神经网络、线性神经网络、径向基神经网络、自组织神经网络、Elman神经网络、Hopfield神经网络,以及学习向量量化神经网络等。(9)MATLAB在信号处理中的应用:介绍离散信号与系统的MATLAB实现,离散傅立叶变换的MATLAB实现,IIR滤波器的MATLAB实现,FIR滤波器MATLAB实现等功能。(10)MATLAB在预测控制中的应用:介绍MATLAB模型预测控制工具箱提供的一系列用于模型预测控制的分析、设计和仿真的函数。(11)MATLAB在自动控制系统中的应用:介绍控制系统数学模型的MATLAB描述及在MATLAB中对控制系统进行分析与设计的函数、工具和方法。
《MATLAB R2008数学和控制实例教程》系统介绍MATLAB R2008的基本功能与使用,主要内容包括系统概论、MATLAB在函数可视化中的应用、MATLAB在仿真建模中的应用、MATLAB在概率统计中的应用、MATLAB在计算方法中的应用、MATLAB在遗传算法中的应用、MATLAB在复变函数中的应用、MATLAB在神经网络中的应用、MATLAB在信号处理中的应用、MATLAB在预测控制中的应用、MATLAB在自动控制系统中的应用等。 《MATLAB R2008数学和控制实例教程》内容新颖实用,实例丰富,可供科学与工程计算、数值计算、自动控制、科学绘图、数据分析、设计、制造、管理、机械、电子、电气等领域从事科学研究和工程技术的人员参阅,也适合于初级用户掌握和使用MATLAB,同时也可供各类高校相关专业的学生作为教材或参考书。
第1章 系统概论1.1 MATLAB概述1.2 MATLAB的用户界面1.2.1 命令窗口1.2.2 命令历史窗口1.2.3 工作内存浏览器1.2.4 工具栏1.2.5 主菜单1.2.6 路径管理器1.3 MATLAB的变量与符号1.3.1 特殊变量1.3.2 标点符号1.4 M文件的编辑调试环境1.4.1 编译器的安装和配置1.4.2 编译器的使用1.5 通用命令与常用数学函数1.5.1 通用命令1.5.2 常用数学函数1.5.3 快捷键1.6 MATLAB帮助系统1.6.1 联机帮助系统1.6.2 命令窗口查询帮助系统第2章 MATLAB在函数可视化中的应用2.1 多次叠绘、双纵坐标和多子图2.2 视点控制和图形的旋动2.3 特殊坐标轴的图形函数2.4 四维表现图2.5 动态图形第3章 MATLAB在仿真建模中的应用3.1 Simulink概述3.2 创建模型3.2.1 模型结构3.2.2 创建模型的基本步骤3.2.3 模型文件格式3.2.4 模块的操作3.3 运行仿真3.3.1 使用窗口运行仿真3.3.2 使用MATLAB命令运行仿真3.3.3 实例分析3.4 调试模型3.4.1 Simulink调试器3.4.2 命令行调试3.4.3 在调试状态下运行仿真3.4.4 设置断点3.4.5 显示仿真的有关信息3.5 改善仿真性能及精度3.5.1 改善仿真性能的方法3.5.2 实例分析3.6 微分方程解算器3.6.1 微分方程解算器介绍3.6.2 实例分析第4章 MATLAB在概率统计中的应用4.1 概述4.2 统计量的数字特征4.2.1 简单的数学期望和均值4.2.2 数据比较4.2.3 方差和标准差4.2.4 累积和累和4.2.5 协方差与相关系数4.2.6 偏斜度和峰度4.3 常用统计分布量4.3.1 期望和方差4.3.2 概率密度函数4.3.3 概率值函数(概率累积函数)4.3.4 分值点函数(逆概率累积函数)4.3.5 常见分布的随机数据的产生4.4 参数估计4.5 区间估计4.5.1 高斯-牛顿法的非线性最小二乘数据拟合4.5.2 非线性模型的参数置信区间4.5.3 非线性拟合和预测的显示交互图形4.5.4 非线性最小二乘预测置信区间4.6 假设检验4.6.1 已知正态总体方差,单个正态分布的均值u的假设检验(U检验法)4.6.2 未知正态总体方差,单个正态总体的均值μ的假设检验(t检验法)4.6.3 未知正态总体方差,两个正态总体的均值μ的假设检验(t检验法)4.6.4 两个分布一致性的检验——秩和检验4.6.5 中值检验4.7 方差分析和回归分析4.7.1 单因素试验的方差分析4.7.2 双因素试验的方差分析4.7.3 回归分析4.8 统计图4.8.1 直方图4.8.2 角度扇形图4.8.3 最小二乘拟合直线4.8.4 显示数据采样的盒图4.8.5 QQ图4.9 使用统计工具GUI4.9.1 统计工具箱中GUI概述4.9.2 分布工具箱的GUI使用第5章 MATLAB在计算方法中的应用5.1 概述5.2 插值和拟合5.2.1 一维插值5.2.2 二维插值5.2.3 高维函数的插值5.2.4 样条插值5.2.5 样条函数用于数值积分和微分5.2.6 编写常用的一些插值方法5.3 微分和积分5.3.1 数值微分5.3.2 函数的数值积分5.4 求解线性方程组5.4.1 直接解法5.4.2 迭代解法的形式5.4.3 线性方程组的符号解法5.4.4 稀疏矩阵技术5.5 求解非线性方程组5.5.1 直接解法5.5.2 方程组解法5.5.3 非线性方程(组)的符号解法5.6 特征值问题5.6.1 特征值函数5.6.2 广义特征值分解5.6.3 其他分解5.7 微分方程组数值解5.7.1 常微分方程组的初值求解5.7.2 延迟微分方程组的数值解5.7.3 常微分方程组的边界问题第6章 MATLAB在遗传算法中的应用6.1 概述6.2 遗传算法简介6.2.1 遗传算法的概念6.2.2 遗传算法的运行过程6.2.3 遗传算法的基本原理和方法6.3 遗传算法工具箱函数6.3.1 工具箱结构6.3.2 遗传算法中的通用函数6.4 遗传算法应用举例6.4.1 简单一元函数优化实例6.4.2 多元单峰函数的优化实例6.4.3 多元多峰函数的优化实例6.4.4 多目标优化问题6.5 使用MATLAB遗传算法工具箱和直接搜索工具箱6.5.1 工具箱概述6.5.2 使用遗传算法工具GUI6.5.3 使用直接搜索工具箱GUI第7章 MATLAB在复变函数中的应用7.1 复数和复矩阵的生成7.1.1 复数的生成7.1.2 创建复数矩阵7.2 复数的运算7.2.1 复数的实部和虚部7.2.2 共轭复数7.2.3 复数的模和辐角7.2.4 复数的乘除法7.2.5 复数的平方根7.2.6 复数的幂运算7.2.7 复数的指数和对数运算7.2.8 复数的三角函数运算7.2.9 复数方程求根7.3 留数7.4 Taylor级数展开7.5 Laplace变换及其逆变换7.6 Fourier变换及其逆变换第8章 MATLAB在神经网络中的应用8.1 MATLAB神经网络的图形用户界面8.2 神经网络感知器的MATLAB实现8.2.1 创建函数8.2.2 显示函数8.2.3 性能函数8.2.4 学习函数8.2.5 训练函数8.3 BP神经网络的MATLAB实现8.3.1 创建函数8.3.2 传递函数8.3.3 学习函数8.3.4 训练函数8.3.5 性能函数8.3.6 绘图函数8.4 线性神经网络的MATLAB实现8.4.1 创建和设计函数8.4.2 学习函数8.4.3 性能函数8.5 径向基神经网络的MATLAB实现8.5.1 创建函数8.5.2 符号变换函数8.5.3 传递函数8.5.4 计算矢量间的距离权函数8.5.5 均方误差性能函数8.6 自组织神经网络的MATLAB实现8.6.1 创建函数8.6.2 竞争传递函数8.6.3 距离函数8.6.4 学习函数8.6.5 初始化函数8.6.6 训练竞争层函数8.6.7 绘图函数8.6.8 结构函数8.7 Hopfield神经网络的MATLAB实现8.8 Elman神经网络的MATLAB实现8.9 学习向量量化神经网络的MATLAB实现第9章 MATLAB在信号处理中的应用9.1 离散信号与系统的MATLAB实现9.1.1 离散信号9.1.2 离散系统9.1.3 离散信号与系统的MATLAB实现9.2 离散傅立叶变换的MATLAB实现9.2.1 离散傅立叶级数(DFS)9.2.2 离散傅立叶变换(DFT)9.2.3 快速傅立叶变换(FFT)9.2.4 离散傅立叶变换的MATLAB实现9.3 IIR滤波器的MATLAB实现9.3.1 IIR滤波器结构9.3.2 IIR滤波器设计方法9.3.3 IIR滤波器经典设计法及MATLAB实现9.3.4 IIR滤波器的直接设计法及MATLAB实现9.3.5 基于广义巴特沃思的IIR滤波器设计及MATLAB实现9.4 FIR滤波器的MATLAB实现9.4.1 FIR滤波器的结构9.4.2 FIR滤波器的设计特点及方法9.4.3 FIR数字滤波器窗函数设计法及其MATLAB实现9.4.4 FIR滤波器的最优化设计法及其MATLAB实现9.4.5 FIR滤波器最小二乘设计法及其MATLAB实现9.4.6 FIR滤波器升余弦函数设计法及其MATLAB实现9.4.7 FIR滤波器任意响应设计法及其MATLAB实现第10章 MATLAB在预测控制中的应用10.1 系统模型辨识10.1.1 数据向量或矩阵的归一化10.1.2 基于线性回归方法的脉冲响应模型辨识10.1.3 脉冲响应模型转换为阶跃响应模型10.1.4 模型的校验10.2 系统模型建立与转换10.2.1 模型转换10.2.2 模型建立10.3 基于阶跃响应模型的控制器设计与仿真10.3.1 输入/输出有约束的模型预测控制器设计与仿真10.3.2 输入/输出无约束的模型预测控制器设计10.3.3 计算由阶跃响应模型构成的闭环系统模型10.3.4 实例分析10.4 基于状态空间模型的预测控制器设计10.4.1 输入/输出有约束的状态空间模型预测控制器设计10.4.2 输入/输出无约束的状态空间模型预测控制器设计10.4.3 状态估计器设计10.5 系统分析与绘图10.5.1 计算和绘制系统的频率响应曲线10.5.2 计算频率响应的奇异值10.5.3 计算系统的极点和稳态增益矩阵10.5.4 系统分析和绘图第11章 MATLAB在自动控制系统中的应用11.1 概述11.2 控制系统数学模型的MATLAB描述11.2.1 传递函数模型(tf模型)11.2.2 状态方程模型(ss模型)11.2.3 零极点模型(zpk模型)11.2.4 控制系统工具箱中的LTI对象11.3 系统模型的转换与连接11.3.1 系统模型的转换11.3.2 系统模型的连接11.4 控制系统稳定性分析11.4.1 稳定性分析的原理11.4.2 MATLAB判别稳定性的方法11.4.3 实例分析11.5 控制系统时域分析11.5.1 时域分析的基本原理11.5.2 MATLAB进行时域分析的方法11.5.3 实例分析11.6 控制系统频域分析11.6.1 频域分析的基本原理11.6.2 频域分析的方法11.6.3 实例分析11.7 控制系统的根轨迹分析11.7.1 根轨迹分析的基本原理11.7.2 根轨迹分析的方法11.7.3 实例分析11.8 控制系统的设计11.8.1 控制系统设计的基本方法11.8.2 系统设计的方法11.8.3 实例分析
插图:第1章 系统概论【内容】本章主要介绍MATLAB R2008的用户界面和常用的变量与符号,M文件的编辑调试环境,常用的通用命令与数学函数,最后介绍MATLAB R2008的帮助系统,为下面各章提供知识基础和操作基础。1.1 MATLAB概述MATLAB是由英文Matrix Laboratory(矩阵实验室)的缩写组成,它是由美国MathWorks公司推出的用于数值计算和图形处理的科学计算系统环境。该公司于l984年推出了MATLAB的第一个商业版本。当时的MATLAB版本已经用C语言作了完全的改写,其后又增添了丰富多彩的图形图像处理、多媒体功能、符号运算和与其他流行软件的接口功能,使得MATLAB的功能越来越强大。MATLAB语言的首创者Cleve Moler教授在数值分析,特别是在数值线性代数的领域中有很大影响,他参与编写了数值分析领域一些著名的著作和两个重要的Fortran程序EISPACK和LINPACK。Cleve Moler曾是密西根大学、斯坦福大学和新墨西哥大学数学与计算机科学教授。1980年前后,当时的新墨西哥大学计算机系主任Moler教授在讲授线性代数课程时,发现用其他高级语言来编程极为不便,便构思并开发了MATLAB软件。该软件利用了当时数值分析、线性代数领域中最高水平的EISPACK和LINPACK两大软件包中可靠的子程序,用Fortran语言编写了集命令翻译、科学计算于一身的一套交互式软件系统。虽然MATLAB语言是计算数学专家倡导并开发的,但其普及和发展离不开自动控制领域学者的贡献。甚至可以说,MATLAB语言是自动控制领域学者和工程技术人员捧红的,因为在MATLAB语言的发展进程中,许多有代表性的成就是与控制界工程技术人员的要求和贡献分不开的。迄今为止,大多数工具箱也都是控制方面的。MATLAB软件具有强大的数学运算能力、方便实用的绘图功能及语言的高度集成性,它在其他科学与工程领域的应用也越来越广泛,并且有着更广阔的应用前景和无限的潜能。
《MATLAB R2008数学和控制实例教程》是由化学工业出版社出版的。案例实用丰富设计经典,内容细致全面深入浅出,程序代码详细指导编程。