目录
前言
第1章 概述 1
1.1 MATLAB 1
1.2 MATLAB主要功能 1
1.2.1 数值分析 1
1.2.2 数据分析和可视化 1
1.2.3 编程和算法开发 2
1.2.4 应用程序开发和部署 3
1.3 MATLAB操作界面 3
1.3.1 主页/绘图/应用程序菜单 4
1.3.2 命令行窗口 5
1.3.3 当前文件夹 5
1.3.4 工作区 6
1.3.5 搜索路径设置 6
1.4 MATLAB帮助系统 6
第2章 语法 8
2.1 基本概念 8
2.1.1 数据类型 8
2.1.2 变量 9
2.1.3 基本语句 10
2.2 数组的创建 10
2.2.1 向量、矩阵与数组 10
2.2.2 简单数组创建方式 11
2.2.3 特殊数组创建方式 11
2.2.4 用M文件创建和保存数组 12
2.2.5 用MATLAB编辑器创建数组 12
2.2.6 数组的合并 13
2.3 数组的寻址与赋值 14
2.3.1 数组的寻址 14
2.3.2 数组的赋值 15
2.4 数组的扩展与删除 15
2.4.1 数组的扩展 15
2.4.2 数组的删除 16
2.5 数组运算和矩阵运算 16
2.5.1 数组运算 17
2.5.2 矩阵运算 17
2.6 矩阵分解 18
2.6.1 行列式、逆和秩 18
2.6.2 Cholesky分解 19
2.6.3 LU分解 20
2.6.4 QR分解 21
2.6.5 奇异值分解 21
2.6.6 特征值分解 22
2.7 运算符 22
2.7.1 数学运算符 22
2.7.2 关系运算符 22
2.7.3 逻辑运算符 23
2.7.4 位运算符 25
2.7.5 集合运算符 25
2.7.6 运算符优先级 26
2.8 字符与字符串 27
2.8.1 字符串的创建、寻访及存储形式 27
2.8.2 字符串数组的创建 28
2.8.3 字符串的比较 28
2.8.4 字符串的查找与替换 29
2.8.5 字符串的类型转换 30
2.8.6 其他字符串常用函数 31
2.9 多项式计算 31
2.9.1 多项式的创建 31
2.9.2 多项式运算函数 32
2.10 M文件 33
2.10.1 M文件编辑器 33
2.10.2 M脚本文件 34
2.10.3 M函数文件 35
2.11 流程控_37
2.11.1 顺序结构 37
2.11.2 分支结构 38
2.11.3 循环结构 40
2.11.4 其他结构 41
第3章 绘图 43
3.1 绘制二维图形 43
3.1.1 使用plot命令绘制二维曲线 43
3.1.2 使用plotyy命令绘制双坐标轴曲线 45
3.1.3 iplot命令和ezplot命令 45
3.2 图形格式化和注释 47
3.2.1 图线样式设置 47
3.2.2 多子图输出 48
3.2.3 合并输出 49
3.2.4 图形标识 50
3.2.5 坐标轴设置 51
3.3 绘制三维图形 53
3.3.1 使用plot 3命令绘制三维曲线 53
3.3.2 使用mesh命令绘制三维曲面 54
3.3.3 mesh相关命令及等高线图绘制 55
3.3.4 使用surf命令绘制三维曲面 56
3.3.5 简易三维图形命令 57
3.4 图形的可视化编辑 58
3.4.1 创建图形窗口命令figure 58
3.4.2 使用绘图工具绘制和编辑图形 59
3.4.3 使用图形工具菜单进行图形数据分析 61
第4章 数值计算 64
4.1 线性方程组的数值解 64
4.1.1 左除法直接求解 64
4.1.2 利用逆矩阵求解 65
4.1.3 采用矩阵的分解求解 67
4.1.4 齐次线性方程组非零解 68
4.2 非线性方程(组)的数值解 69
4.2.1 使用fzero求解一元非线性方程 69
4.2.2 使用solve命令求解非线性方程(组) 70
4.2.3 使用roots命令求解多项式方程 71
4.2.4 使用fsolve命令求解非线性方程(组) 71
4.3 数值微积分 72
4.3.1 使用diff命令实现数值微分 72
4.3.2 一元函数数值积分 73
4.3.3 梯形数值积分命令trapz 74
4.3.4 矩形区域二重数值积分命令dblquad 74
4.3.5 三重数值积分命令triplequad 75
4.4 常微分方程的数值解 75
4.4.1 常微分方程初值问题 75
4.4.2 一阶常微分方程初值问题的求解 76
4.4.3 高阶常微分方程初值问题的求解 77
4.4.4 常微分方程边值问题及求解 78
4.5 函数插值 79
4.5.1 使用interpl命令进行一维插值 79
4.5.2 使用interp 2命令进行二维插值 81
4.5.3 使用spline命令进行样条插值 83
4.6 曲线拟合 84
4.6.1 使用ployfit命令进行多项式拟合 84
4.6.2 非线性*小二乘拟合命令lsqcurvefit 86
4.6.3 曲线拟合工具箱 87
第5章 符号计算 89
5.1 使用syms命令创建符号对象 89
5.2 使用sym命令创建符号数字 90
5.3 化简符号表达式 90
5.4 符号表达式的变量替代 91
5.5 符号表达式的微积分 91
5.6 求解符号方程 92
5.7 符号表达式绘图 93
5.8 使用MuPAD记事本 96
5.8.1 MuPAD语法基础 96
5.8.2 MuPAD微积分运算 98
5.8.3 MuPAD矩阵运算 99
5.8.4 MuPAD符号表达式化简 99
5.8.5 MuPAD解方程和解不等式 100
5.8.6 MuPAD绘图 100
第6章 优化工具箱及应用 103
6.1 优化工具箱概述 103
6.1.1 优化工具箱的功能 103
6.1.2 优化工具箱的特色 103
6.1.3 优化工具箱函数 104
6.2 优化工具箱图形界面GUI 106
6.2.1 启动优化工具箱GUI 106
6.2.2 优化工具箱GUI介绍 106
6.2.3 使用GUI解优化问题的步骤 108
6.3 无约束极值问题 110
6.3.1 无约束极小值命令fininunc 110
6.3.2 无约束极小值命令fininsearch 1ll
6.4 约束极值问题 112
6.4.1 一元函数极小值命令fininbnd 112
6.4.2 多变量约束极小值命令finincon 113
6.4.3 半无限约束极小值命令fseminf 114
6.5 线性规划和混合整数规划 116
6.5.1 线性规划命令linprog 116
6.5.2 混合整数规划命令intlinprog 117
6.6 二次规划 118
6.7 *小二乘优化 119
6.7.1 约束线性*小二乘优化命令lsqlin 119
6.7.2 非线性*小二乘优化命令 120
6.8 基于优化工具箱的曲柄摇杆机构设计 121
第7章 Simulink及控制系统应用 124
7.1 Simulink简介 124
7.2 Simulink启动 125
7.3 Simulink建模基础 127
7.3.1 模块的基本操作 127
7.3.2 模块的连接 128
7.3.3 显示端口数据类型 129
7.3.4 模型注释 130
7.3.5 Simulink常用模块库 130
7.4 Simulink仿真环境的设置 132
7.4.1 求解器设置 132
7.4.2 仿真数据的输入/?出设置 133
7.4.3 诊断设置 135
7.5 Simulink建模举例 135
7.5.1 简单数学等式的模型建立 135
7.5.2 连续系统的模型建立 136
7.5.3 *优框图数学模型的建立 138
7.6 Simulink的子系统 140
7.6.1 子系统的建立 140
7.6.2 子系统的封装 141
7.6.3 条件子系统 146
7.7 SimulinkS-函数 147
7.7.1 S-函数 147
7.7.2 S-函数的工作机理 148
7.7.3 S-函数的建立 148
7.7.4 用M文件创建S-函数实例 150
7.8 控制系统的仿真 152
7.8.1 控制系统数学建模 152
7.8.2 线性系统的时域分析 157
7.8.3 线性系统的根轨迹 158
7.8.4 线性系统的频域分析 159
第8章 Simulink在机构学中的应用 162
8.1 机构位置分析 162
8.2 机构速度仿真 163
8.3 机构加速度仿真 165
8.4 机构动力学仿真 171
8.5 机构速度控制仿真 177
8.6 含电机模型的机构速度控制仿真 180
第9章 SimMechanics机械系统仿真 184
9.1 SimMechanics常用模块 184
9.2 曲柄滑块机构SimMechanics仿真 185
9.3 两自由度机器人SimMechanics仿真 190
9.4 三自由度机器人点位控制与连续轨迹控制 194
9.5 SimMechanics平台与CAD软件关联 201
第10章 MATLAB在数字信号处理中的应用 204
10.1 信号的生成和运算 204
10.1.1 模拟信号的生成 204
10.1.2 数字信号的生成 205
10.1.3 信号的运算 206
10.2 信号的频谱分析 206
10.2.1 周期信号的分解 206
10.2.2 信号的离散傅里叶变换 208
10.3 数字音频信号处理 209
10.4 数字图像信号处理 211