第1部分 实用教程 1
第1章 MATLAB R2010a环境 1
1.1 MATLAB简介 1
1.1.1 MATLAB工具箱 2
1.1.2 MATLAB功能和特点 2
1.2 MATLAB R2010a的环境设置 3
1.2.1 菜单栏 4
1.2.2 工具栏 7
1.3 通用操作界面窗口 7
1.3.1 命令窗口(Command Window) 7
1.3.2 历史命令窗口(Command History) 11
1.3.3 当前目录浏览器窗口(Current Folder) 12
1.3.4 工作空间窗口(Workspace) 14
1.3.5 变量编辑器窗口(Variable Editor) 16
1.3.6 M文件编辑/调试器窗口(Editor/Debugger) 17
1.3.7 程序性能剖析窗口(Profiler) 18
1.3.8 MATLAB R2010a帮助 18
1.4 MATLAB R2010a其他管理 21
1.4.1 MATLAB用户文件格式 21
1.4.2 设置搜索路径 21
1.4.3 文件管理命令 24
1.4.4 退出MATLAB 26
1.5 1个实例 26
第2章 MATLAB数值计算 30
2.1 变量和数据 30
2.1.1 数据类型 30
2.1.2 常数 32
2.1.3 变量 33
2.2 矩阵和数组 34
2.2.1 矩阵输入 34
2.2.2 矩阵元素 37
2.2.3 字符串 41
2.2.4 矩阵和数组运算 44
2.2.5 多维数组 55
2.3 日期和时间 58
2.3.1 日期和时间的表示格式 58
2.3.2 日期和时间函数 59
2.4 稀疏矩阵 60
2.4.1 稀疏矩阵的建立 60
2.4.2 稀疏矩阵的存储空间 62
2.4.3 稀疏矩阵的运算 63
2.5 多项式 63
2.5.1 多项式的求值、求根和部分分式展开 63
2.5.2 多项式的乘除法和微积分 66
2.5.3 多项式拟合和插值 67
2.6 元胞数组和结构数组 69
2.6.1 元胞数组 69
2.6.2 结构数组 72
2.7 数据分析 75
2.7.1 数据统计和相关分析 75
2.7.2 差分和积分 76
2.7.3 卷积和快速傅里叶变换 78
2.7.4 向量函数 80
第3章 MATLAB符号计算 82
3.1 符号表达式的建立 82
3.1.1 创建符号常量 82
3.1.2 创建符号变量和符号表达式 84
3.1.3 符号矩阵 85
3.2 符号表达式的代数运算 86
3.2.1 符号表达式的代数运算 86
3.2.2 符号数值任意精度控制和运算 87
3.2.3 符号对象与数值对象的转换 89
3.3 符号表达式的操作和转换 90
3.3.1 符号表达式中自由变量的确定 90
3.3.2 符号表达式的化简 91
3.3.3 符号表达式的替换 93
3.3.4 求反函数和复合函数 94
3.3.5 符号表达式的转换 95
3.4 符号极限、微积分和级数求和 96
3.4.1 符号极限 96
3.4.2 符号微分 97
3.4.3 符号积分 99
3.4.4 符号级数 100
3.5 符号积分变换 101
3.5.1 傅里叶变换及其反变换 101
3.5.2 拉普拉斯变换及其反变换 102
3.5.3 Z变换及其反变换 104
3.6 符号方程的求解 105
3.6.1 代数方程 105
3.6.2 符号常微分方程 106
3.7 符号函数的可视化 107
3.7.1 符号函数的绘图命令 107
3.7.2 图形化的符号函数计算器 109
3.8 MuPAD的使用 110
3.8.1 MuPAD Notebook 110
3.8.2 MuPAD函数的使用 112
第4章 MATLAB计算的可视化和GUI设计 113
4.1 二维曲线的绘制 113
4.1.1 基本绘图命令 114
4.1.2 绘制曲线的一般步骤 118
4.1.3 多个图形绘制的方法 119
4.1.4 曲线的线形、颜色和数据点形 121
4.1.5 设置坐标轴和文字标注 122
4.1.6 交互式图形命令 126
4.2 MATLAB的特殊图形绘制 127
4.2.1 条形图 128
4.2.2 面积图和实心图 129
4.2.3 直方图 130
4.2.4 饼形图 131
4.2.5 离散数据图 132
4.2.6 对数坐标和极坐标图 132
4.2.7 等高线图 134
4.2.8 复向量图 134
4.3 MATLAB的三维图形绘制 135
4.3.1 绘制三维线图命令 135
4.3.2 绘制三维网线图和曲面图 136
4.3.3 立体图形与图轴的控制 138
4.3.4 色彩的控制 140
4.4 图形绘制工具 143
4.5 对话框 144
4.6 句柄图形 147
4.6.1 句柄图形体系 147
4.6.2 图形对象的操作 148
4.7 用户图形界面设计 152
4.7.1 可视化的界面环境 152
4.7.2 菜单 153
4.7.3 控件 155
4.7.4 对象对齐工具、属性编辑器和对象浏览器 157
4.7.5 回调函数 158
4.8 图形文件转储 159
第5章 MATLAB程序设计 161
5.1 程序流程控制 161
5.1.1 for...end循环结构 161
5.1.2 while...end循环结构 162
5.1.3 if...else...end条件转移结构 163
5.1.4 switch...case开关结构 164
5.1.5 try...catch...end试探结构 165
5.1.6 流程控制语句 166
5.1.7 循环结构与动画 168
5.2 M文件 170
5.2.1 M文件编辑器 170
5.2.2 M脚本文件 171
5.2.3 M函数文件 172
5.3 函数调用和参数传递 174
5.3.1 子函数和私有函数 174
5.3.2 局部变量和全局变量 175
5.3.3 函数的参数 176
5.3.4 程序举例 179
5.4 利用函数句柄执行函数 183
5.4.1 函数句柄的创建 183
5.4.2 用feval命令执行函数 184
5.5 利用泛函命令进行数值分析 185
5.5.1 求极小值 185
5.5.2 求过零点 186
5.5.3 数值积分 188
5.5.4 微分方程的数值解 188
5.6 内联函数 190
5.7 M文件性能的优化和加速 191
5.7.1 M文件性能优化 191
5.7.2 P码文件 192
5.7.3 程序性能剖析窗口 193
第6章 线性控制系统分析与设计 195
6.1 线性系统的描述 195
6.1.1 状态空间描述法 195
6.1.2 传递函数描述法 197
6.1.3 零极点描述法 197
6.1.4 离散系统的数学描述 198
6.2 线性系统模型之间的转换 200
6.2.1 连续系统模型之间的转换 200
6.2.2 连续系统与离散系统之间的转换 203
6.2.3 模型对象的属性 205
6.3 结构框图的模型表示 207
6.4 线性系统的时域分析 211
6.4.1 零输入响应分析 211
6.4.2 脉冲响应分析 212
6.4.3 阶跃响应分析 214
6.4.4 任意输入的响应 215
6.4.5 系统的结构参数 217
6.5 线性系统的频域分析 220
6.5.1 频域特性 220
6.5.2 连续系统频域特性 221
6.5.3 幅值裕度和相角裕度 225
6.5.4 闭环频率特性的性能指标 225
6.6 频率特性校正 227
6.6.1 超前校正 227
6.6.2 滞后校正 228
6.7 线性系统的根轨迹分析 229
6.7.1 绘制根轨迹 230
6.7.2 根轨迹的其他工具 231
6.8 线性系统的图形工具界面 234
6.8.1 LTI Viewer界面 234
6.8.2 SISO设计工具sisotool 236
第7章 Simulink仿真环境 239
7.1 演示1个Simulink的简单程序 239
7.2 Simulink文件操作和模型窗口 241
7.2.1 Simulink文件操作 241
7.2.2 Simulink模型窗口 241
7.3 模型创建 242
7.3.1 模块操作 242
7.3.2 信号线操作 243
7.4 Simulink基本模块 244
7.4.1 基本模块 245
7.4.2 常用模块的参数和属性设置 246
7.5 复杂系统仿真与分析 251
7.5.1 仿真设置 251
7.5.2 连续系统仿真 254
7.5.3 离散系统仿真 257
7.5.4 仿真结构参数化 259
7.6 子系统与封装 260
7.6.1 建立子系统 260
7.6.2 条件执行子系统 262
7.6.3 子系统的封装 264
7.7 用MATLAB命令创建和运行Simulink模型 269
7.8 S函数 270
7.8.1 S函数的介绍 270
7.8.2 S函数的编写 272
7.8.3 S函数模块的使用 273
7.9 以Simulink为基础的模块工具箱 276
第8章 MATLAB高级应用 277
8.1 MATLAB应用接口 277
8.1.1 MEX文件 277
8.1.2 使用MATLAB编译器 282
8.2 低级文件输入/输出 283
8.2.1 打开和关闭文件 283
8.2.2 读/写格式化文件 285
8.2.3 读/写二进制数据 287
8.2.4 文件定位 288
8.3 Notebook 289
8.3.1 Notebook安装 289
8.3.2 Notebook启动 290
8.3.3 Notebook使用 292
8.3.4 Notebook中的MATLAB使用 296
第2部分 习题 299
第1章 MATLAB R2010a环境 299
第2章 MATLAB数值计算 299
第3章 MATLAB符号计算 301
第4章 MATLAB计算的可视化和GUI设计 302
第5章 MATLAB程序设计 304
第6章 线性控制系统分析与设计 305
第7章 Simulink仿真环境 307
第8章 MATLAB高级应用 308
第3部分 实验 310
实验1 MATLAB环境及命令窗口 310
实验2 MATLAB的数值计算 319
实验3 MATLAB的符号计算 328
实验4 MATLAB的计算可视化和GUI设计 336
实验5 MATLAB程序设计 344
实验6 线性控制系统分析与设计 352
实验7 Simulink仿真环境 362
第4部分 附录 372
附录A 习题答案 372
附录B 模拟测试题 394
附录C 模拟测试题答案 396
附录D 例题索引 399
附录E 程序的调试 405
E.1 错误类型 405
E.2 程序调试器 406