Matlab 7.0/Simulink 6.0应用实例仿真与高效算法开发
分類: 图书,计算机/网络,行业软件及应用,
作者: 黄永安,李文成,高小科编著
出 版 社: 清华大学出版社
出版时间: 2008-6-1字数: 765000版次: 1页数: 493印刷时间: 2008/06/01开本: 16开印次: 1纸张: 胶版纸I S B N : 9787302175414包装: 平装内容简介
本书以科学计算和工程仿真为背景,利用Matlab\Simulink工具结合实际工程问题进行讲解,全书图文并茂,突出应用,并配有丰富的计算程序和仿真框图。
全书共18章,分为两部分:第一部分为Matlab计算篇(含第1~9章),这部分主要利用Matlab实现各种高效的计算方法,如微积分求解、线性方程组求解、非线性方程组求解、数据建模、微分方程求解、边值问题求解和优化问题求解等计算领域经常遇到的问题。第二部分为Simulink仿真篇(含第10~18章),利用Simulink进行系统建模和工程仿真,如Simulink的数值计算、离散和连续混合系统建模、Stateflow、控制系统设计、神经网络、机构仿真和实时工具箱等。本书配有丰富的工程实例,掌握本书之后可以非常容易地利用Matlab/Simulink进行常规的科学计算和仿真。
本书内容丰富,涉及多个专业领域,是一本难得的系统的工程书籍,能够帮助读者更好地解决问题,可以作为在校大学生、研究生、教师、工程师和科研人员的参考手册,亦可作为广大工程技术人员的参考用书。
目录
第一篇 Matlab计算篇
第1章 Matlab语言程序基础
1.1 Matlab 的数据类型
1.1.1 常量与变量
1.1.2 运算符
1.1.3 结构数组
1.1.4 数组与矩阵的生成
1.2 基本数学运算
1.2.1 向量及其运算
1.2.2 矩阵及其运算
1.2.3 多项式的化简与变换
1.3 基本符号运算
1.3.1 符号对象和表达式
1.3.2 符号函数的操作
1.3.3 符号对象和其他数据的转换
1.3.4 符号矩阵的生成
1.3.5 符号表达式的操作
1.4 基本的流程结构
1.4.1 循环结构
1.4.2 转移结构
1.4.3 开关结构
1.4.4 试探结构
1.5 函数编写与调试
1.5.1 函数的基本结构
1.5.2 变量的检测传递
1.5.3 串演算函数
1.6 图形的绘制
1.6.1 二维图形绘制基本语句
1.6.2 特殊二维图形绘制语句
1.6.3 二维图形的精细控制
1.6.4 三维图形绘制
1.6.5 三维图形的可视化
1.6.6 三维图形的精细控制
第2章 Matlab与Microsoft Office的连接
2.1 Matlab与Microsoft Word的连接
2.1.1 安装Matlab Notebook
2.1.2 使用Matlab Notebook
2.1.3 Notebook使用时需要注意的问题
2.2 Matlab与Microsoft PowerPoint的连接
第3章 微积分问题的数值实验
3.1 微积分问题的解析解
3.1.1 极限问题的解析解
3.1.2 函数导数的解析解
3.1.3 积分问题的解析解
3.2 函数的级数展开与求和
3.2.1 Taylor 幂级数展开
3.2.2 Fourier 级数展开
3.2.3 级数求和的计算
3.3 数值微分问题
3.3.1 数值微分算法
3.3.2 中心差分方法
3.3.3 二元函数的梯度计算
3.4 数值积分问题
3.4.1 由给定数据进行梯形求积
3.4.2 单变量数值积分求解
3.4.3 双重积分问题的数值解
3.4.4 三重定积分的数值求解
3.5 曲线积分与曲面积分的计算
3.5.1 曲线积分及Matlab语言求解
3.5.2 曲面积分与Matlab语言求解
第4章 线性代数方程组的数值实验
4.1 特殊矩阵的输入
4.1.1 数值矩阵的输入
4.1.2 符号矩阵的输入
4.2 矩阵基本分析
4.2.1 矩阵的特征值与特征向量
4.2.2 矩阵的LU分解
4.2.3 矩阵的QR分解
4.2.4 矩阵的奇异值分解
4.3 线性代数方程的求解
4.3.1 线性代数方程组
4.3.2 Lyapunov 方程
4.3.3 Sylvester 方程
4.3.4 Riccati 方程
4.4 稀疏矩阵的线性方程
4.4.1 稀疏矩阵
4.4.2 稀疏矩阵的运算
4.4.3 稀疏矩阵的分解
4.4.4 稀疏矩阵的特征值分解
4.4.5 稀疏矩阵方程的求解
第5章 非线性方程解法
5.1 非线性方程的数值解法
5.1.1 二分法
5.1.2 迭代法
5.1.3 牛顿迭代法
5.2 非线性方程(组)的符号解法
5.2.1 solve()函数
5.2.2 fzero()函数
5.2.3 fsolve()函数
5.3 非线性方程组的数值解法
5.3.1 迭代法
5.3.2 塞德尔迭代法
5.3.3 牛顿迭代法
第6章 数据建模问题的数值实验
6.1 插值与数据拟合
6.1.1 一维数据的插值问题
6.1.2 二维网格数据的插值问题
6.2 样条插值与数值微积分
6.2.1 样条插值的Matlab 表示
6.2.2 基于样条插值的数值微积分运算
6.3 由已知数据拟合数学模型
6.3.1 多项式拟合
6.3.2 函数线性组合的曲线拟合方法
6.3.3 最小二乘曲线拟合
第7章 微分方程问题的数值实验
7.1 常系数线性微分方程的符号解
7.1.1 线性常系数微分方程
7.1.2 特殊非线性微分方程
7.2 微分方程问题的数值解法
7.2.1 微分方程问题算法概述
7.2.2 Runge-Kutta 算法及Matlab 实现
7.2.3 一阶微分方程组的数值解
7.2.4 单个高阶微分方程的转换
7.3 特殊微分方程的数值解
7.3.1 刚性微分方程组的求解
7.3.2 隐式微分方程求解
7.3.3 微分代数方程的求解
7.3.4 时滞微分方程求解
7.4 微分方程初值问题的精细积分方法
7.4.1 齐次方程和指数矩阵的精细积分算法
7.4.2 非齐次方程的精细积分算法
7.4.3 一般结构动力方程的精细积分方法
7.4.4 增维精细积分方法
附录 常微分方程数值求解器
第8章 微分方程的边值问题和偏微分方程工具箱
8.1 常微分方程边值问题的计算机求解
8.1.1 线性方程边值问题的打靶算法
8.1.2 线性微分方程边值问题的有限差分算法
8.1.3 常微分方程边值问题的求解器
8.2 偏微分方程求解
8.2.1 偏微分方程的有限元法
8.2.2 偏微分工具箱(PDE ToolBox)简介
8.2.3 求解偏微分方程典型函数介绍及其应用举例
8.2.4 PDE图形界面简介
第9章 Matlab的最优化问题的 计算机求解
9.1 无约束最优化问题方程求解
9.1.1 基本理论
9.1.2 解析解法和图解法
9.1.3 基于Matlab 的数值解法
9.2 有约束最优化问题计算机求解
9.2.1 基本理论
9.2.2 基于Matlab 的数值解法简介
9.3 整数规划问题计算机求解
9.3.1 基本理论
9.3.2 基于Matlab的数值解法简介
第二篇 Simulink仿真篇
第10章 Simulink分析工具与模型调试
10.1 打开Simulink调试器
10.1.1 窗口调试方式
10.1.2 命令行调试
10.2 进行模型仿真与调试
10.3 断点设置
10.3.1 无条件中断
10.3.2 条件中断
10.4 显示仿真信息
10.4.1 显示模块输入输出信息
10.4.2 显示代数环信息
10.4.3 显示系统状态
10.4.4 显示积分信息
10.5 显示模型信息
10.5.1 显示模型中模块的执行顺序
10.5.2 显示模型中的非虚拟系统
10.5.3 显示具有过零点的潜在模块
10.5.4 显示代数环
10.5.5 显示调试器状态
第11章 Simulink进行数值计算
11.1 微分方程求解器Solver
11.2 刚性方程求解实例
11.3 Simulink仿真中的代数环问题
第12章 Simulink连续系统、离散系统和混合系统,以及状态系统建模
12.1 连续系统建模
12.1.1 线性系统
12.1.2 非线性系统
12.2 离散系统建模
12.2.1 模块介绍
12.2.2 离散系统实例
12.3 混合系统建模
12.4 状态模块仿真
12.4.1 状态空间
12.4.2 连续系统的状态空间表示
12.4.3 离散系统的状态空间表示
12.5 实例分析
12.5.1 状态系统实例
12.5.2 振动系统实例
第13章 S-函数的建立与应用
13.1 何为S-Function
13.2 在模型中使用S-函数
13.2.1 初识S-函数
13.2.2 S-Function所起的作用
13.3 S-函数工作原理
13.3.1 模型的数学描述
13.3.2 仿真过程
13.3.3 S-函数回调方法
13.4 M文件S-函数的编写
13.5 M文件S-函数模板
13.6 M文件S-函数简单实例
13.7 连续、离散和混合系统M文件S-函数
13.7.1 连续系统
13.7.2 离散系统
第14章 Stateflow使用技巧与实例应用
14.1 Stateflow基础
14.1.1 初识Stateflow
14.1.2 状态转移图
14.1.3 状态与转移
14.1.4 事件
14.2 运行Stateflow
14.2.1 将Stateflow嵌入Simulink中的一个简单范例
14.2.2 利用Stateflow来表示模型的控制部分
14.2.3 通过迁移来改变Stateflow状态
14.2.4 通过事件来激发Stateflow
14.2.5 Stateflow使用数据变量
14.3 为目标生成C代码
14.4 利用状态和迁移进行控制
14.4.1 创建一个on-off模型
14.4.2 在Stateflow图表中绘制迁移
14.4.3 为Stateflow图表添加一个触发事件
14.4.4 向Stateflow图表传递一个触发事件
14.5 进行Stateflow图表仿真
14.5.1 定义模型仿真参数
14.5.2 Stateflow图表仿真的基本步骤
14.6 仿真过程中的调试
14.7 Stateflow常用命令
14.8 Stateflow仿真实例
第15章 控制系统设计与仿真
15.1 何为Simulink控制系统设计
15.2 线性化模型
15.3 磁力球模型线性化实例
15.3.1 磁力球模型示意图
15.3.2 磁力球模型方程
15.3.3 创建或打开一个Simulink模型
15.3.4 开始线性化工程
15.3.5 配置一个线性化模型
15.3.6 确定工作点
15.3.7 线性化模型
15.3.8 线性化模块
15.3.9 分析结果
15.3.10 导出并保存工程
15.4 离散系统建模
15.4.1 离散系统建模的基本概念
15.4.2 不同采样速率的彩色显示
15.4.3 混合系统建模
15.5 经典控制系统的设计与仿真
15.5.1 时域分析
15.5.2 频域分析
15.5.3 根轨迹分析
15.5.4 常用控制器的设计与仿真
15.6 现代控制系统的设计与仿真
15.6.1 现代控制系统的特点和研究内容
15.6.2 模型参考自适应控制系统
15.6.3 实例分析
15.7 滑模变结构控制系统设计与分析
15.7.1 滑模变结构控制理论
15.7.2 连续时间滑模控制
15.7.3 离散时间滑模控制
15.7.4 滑模变结构控制的应用
第16章 Simulink神经网络工具箱
16.1Neural Network Blockset模块库
16.1.1 神经网络模块介绍
16.1.2 神经网络模块的生成及模型设计
16.2神经网络模型预测控制实例分析
16.2.1 模型预测理论
16.2.2 问题的描述
16.2.3 建立模型
16.2.4 系统辨识
16.2.5 系统仿真
16.3NARMA_L2(反馈线性化)控制实例分析
16.3.1 反馈线性化控制理论
16.3.2 问题的描述
16.3.3 建立模型
16.3.4 系统辨识
16.3.5 系统仿真
16.4神经网络模型参考控制实例分析
16.4.1 模型参考控制理论
16.4.2 问题描述
16.4.3 建立模型
16.4.4 系统辨识
16.4.5 系统仿真
第17章 SimMechanics机构系统应用
17.1 SimMechanics介绍
17.1.1 初识SimMechanics
17.1.2 SimMechanics能够做什么
17.2 SimMechanics模块介绍
17.3 建立一个简单的机构实例
17.3.1 创建SimMechanics模型
17.3.2 建立一个单摆模型
17.4 单摆运动可视化
17.5 四连杆结构仿真实例
第18章 Real-Time Workshop
18.1 Real-Time Workshop简介
18.2 生成普通的实时程序
18.2.1 打开演示程序
18.2.2 实例演示
参考文献
书摘插图
第1章 Matlab语言程序基础
本章旨在介绍关于Matlab的基本知识,使读者可以更好地理解后续章节中的内容。其实,对于Matlab的基本知识的介绍可以在市面上流行的各类Matlab书籍中看到,那么本书中对于此部分的介绍又有哪些自己的特点呢?首先,省去了Matlab中一些与高效率计算编程无关的赘述,使读者在能力理解和运用本书中心部分对于高效算法的介绍前提下,用最少的时间获得必需的预备知识;其次是对于一些后续章节中经常用到的基本概念和方法作了更为详细的介绍,这样读者在阅读完本章节以后可以更轻松地理解本章中对于算法介绍的内容。
本章主要内容包括:
Matlab的数据类型
基本数学运算
基本符号运算
基本的流程结构
函数编写与调试
图形的绘制
……