第1章 MATLAB简介 1
1.1 MATLAB的发展沿革 1
1.2 MATLAB的特点及应用领域 2
1.3 MATLAB系统及工具箱 3
1.4 MATLAB的安装和启动 4
1.5 MATLAB操作界面 5
1.5.1 命令窗口(Command Window) 5
1.5.2 历史命令(Command History)窗口 9
1.5.3 当前目录(Current Directory)窗口 11
1.5.4 工作空间(Workspace)窗口 12
1.5.5 帮助(Help)窗口 13
1.6 MATLAB的各种文件 14
1.7 MATLAB的搜索路径 14
1.7.1 搜索路径机制和搜索顺序 14
1.7.2 设置搜索路径的方法 15
1.8 MATLAB窗口操作命令 16
1.9 小结 18
1.10 习题 18
第2章 MATLAB语言基础 20
2.1 基本概念 20
2.1.1 MATLAB数据类型 20
2.1.2 常量与变量 21
2.1.3 标量、向量、矩阵与数组 22
2.1.4 字符串 23
2.1.5 运算符 23
2.1.6 命令、函数、表达式和语句 26
2.2 向量运算 27
2.2.1 向量的生成 27
2.2.2 向量的加减和数乘运算 28
2.2.3 向量的点、叉积运算 29
2.3.1 矩阵元素的存储次序 31
2.3.2 矩阵元素的表示及相关操作 31
2.3 矩阵运算 31
2.3.3 矩阵的创建 34
2.3.4 矩阵的代数运算 40
2.4 数组运算 48
2.4.1 多维数组元素的存储次序 48
2.4.2 多维数组的创建 48
2.4.3 数组的代数运算 51
2.4.4 数组的关系与逻辑运算 54
2.4.5 数组和矩阵函数的通用形式 57
2.5 字符串运算 59
2.5.1 字符串变量与一维字符数组 59
2.5.2 对字符串的多项操作 60
2.5.3 二维字符数组 62
2.6 小结 63
2.7 习题 63
第3章 MATLAB数值运算 65
3.1 多项式 65
3.1.1 多项式的表达和创建 65
3.1.2 多项式的四则运算 65
3.1.3 多项式求值和求根运算 68
3.1.4 多项式的构造 70
3.2.1 多项式插值和拟合 71
3.2 插值和拟合 71
3.2.2 最小二乘法拟合 77
3.3 数值微积分 79
3.3.1 微分和差分 79
3.3.2 牛顿-科茨系列数值积分公式 81
3.4 线性方程组的数值解 83
3.4.1 直接法 84
3.4.2 迭代法 85
3.5 稀疏矩阵 89
3.5.1 稀疏矩阵的建立 90
3.5.2 稀疏矩阵的存储 92
3.5.3 用稀疏矩阵求解线性方程组 93
3.6 常微分方程的数值解 95
3.6.1 欧拉法 96
3.6.2 龙格-库塔方法 99
3.7 小结 102
3.8 习题 102
第4章 结构数组与细胞数组 104
4.1 结构数组 104
4.1.1 结构数组的创建 104
4.1.2 结构数组的操作 106
4.2.1 细胞数组的创建 113
4.2 细胞数组 113
4.2.2 细胞数组的操作 115
4.2.3 结构细胞数组 123
4.3 小结 124
4.4 习题 124
第5章 MATLAB符号运算 128
5.1 符号对象及其表达方式 128
5.1.1 符号常量和变量 128
5.1.2 符号表达式 130
5.1.3 符号矩阵 131
5.2.1 符号对象的加减 132
5.2 符号算术运算 132
5.2.2 符号对象的乘除 133
5.3 独立变量与表达式化简 134
5.3.1 表达式中的独立变量 134
5.3.2 表达式化简 135
5.4 符号微积分运算 140
5.4.1 符号极限 140
5.4.2 符号微分 141
5.4.3 符号积分 141
5.4.4 符号Taylor级数展开 142
5.5.1 傅里叶变换及其反变换 144
5.5 符号积分变换 144
5.5.2 拉普拉斯变换及其反变换 145
5.5.3 Z变换及其反变换 147
5.6 方程的解析解 149
5.6.1 线性方程组的解析解 149
5.6.2 非线性方程(组)的解析解 150
5.6.3 常微分方程(组)的解析解 152
5.7 小结 154
5.8 习题 154
6.1.1 局部变量与全局变量 157
6.1 M文件 157
第6章 MATLAB程序设计 157
6.1.2 M文件的编辑与运行 158
6.1.3 脚本文件 159
6.1.4 函数文件 160
6.1.5 函数调用 161
6.2 MATLAB的程序控制结构 164
6.2.1 循环结构 164
6.2.2 选择结构 169
6.3 数据的输入与输出 173
6.3.1 键盘输入语句(input) 173
6.2.3 程序流的控制 173
6.3.2 屏幕输出语句(disp) 174
6.3.3 M数据文件的存储/加载(save/load) 174
6.3.4 格式化文本文件的存储/读取(fprintf/fscanf) 174
6.3.5 二进制数据文件的存储/读取(fwrite/fread) 174
6.3.6 数据文件行存储/读取(fgetl/fgets) 175
6.4 MATLAB文件操作 175
6.5 面向对象编程 177
6.5.1 面向对象程序设计的基本方法 177
6.5.2 面向对象的程序设计实例 179
6.6 MATLAB程序优化 181
6.7 程序调试 182
6.8 小结 183
6.9 习题 183
第7章 MATLAB数据可视化 185
7.1 二维图形 185
7.1.1 MATLAB的图形窗口 186
7.1.2 基本二维图形绘制 187
7.1.3 其他类型的二维图 189
7.1.4 色彩和线型 191
7.1.5 坐标轴及标注 193
7.1.6 子图 194
7.2 三维图形 195
7.2.1 三维曲线图 196
7.2.2 三维曲面图 196
7.2.3 视角控制 200
7.2.4 其他图形函数 202
7.3 图像 205
7.3.1 图像的类别和显示 205
7.3.2 图像的读写 207
7.4 函数绘图 208
7.4.1 一元函数绘图 208
7.4.2 二元函数绘图 209
7.5 小结 212
7.6 习题 212
第8章 交互式仿真集成环境SIMULINK 214
8.1 SIMULINK简介 214
8.1.1 SIMULINK特点 214
8.1.2 SIMULINK的工作环境 215
8.1.3 SIMULINK仿真基本步骤 216
8.2 模型的创建 217
8.2.1 模型概念和文件操作 217
8.2.2 模块操作 218
8.2.3 信号线操作 221
8.2.4 对模型的注释 223
8.2.5 常用的Source信源 223
8.2.6 常用的Sink信宿 230
8.2.7 仿真的配置 235
8.2.8 启动仿真 239
8.3 SIMULINK仿真实例 239
8.4 小结 245
8.5 习题 246
附录 MATLAB上机实验 247
参考文献 274