第1章 基础准备及入门 1
1.1 认识MATLAB 1
1.1.1 MATLAB的历史 1
1.1.2 MATLAB的主要功能 3
1.1.3 MATLAB7.0新增功能 3
1.2 视窗下的MATLAB环境 5
1.2.1 Desktop简介 5
1.2.2 Command Window运行入门 7
1.2.3 Command Window简介 7
1.2.4 最简单的计算器使用法 7
1.2.5 数值、变量和表达式 9
1.2.6 计算结果的图形表示 12
1.3 Command Window操作要旨 13
1.4 Command History窗口 14
1.4.1 Command History窗口简介 14
1.4.2 历史指令行的再运行 15
1.5 Current Directory、路径设置器和文件管理 15
1.5.1 Current Directory浏览器简介 15
1.5.2 MATLAB的搜索路径 16
1.5.3 MATLAB搜索路径的扩展和修改 17
1.6 Workspace Browser和Array Editor 18
1.6.1 Workspace Browser简介 18
1.6.2 现场菜单用于内存变量的查阅和删除 18
1.6.3 Array Editor数组编辑器和大数组的输入 20
1.7 Launch Pad交互界面分类目录窗 20
1.8 Editor/Debugger和脚本编写初步 21
1.8.1 Editor/Debugger简介 21
1.8.2 M脚本文件编写初步 22
1.9 帮助系统 22
1.9.1 帮助方式概述 22
1.9.2 Help Navigator/Browser简介 25
第2章 矩阵及其基本运算 27
2.1 引导 27
2.2 创建新矩阵 28
2.2.1 建立新矩阵 29
2.2.2 向量和子矩阵的生成 38
2.2.3 MATLAB中的特殊矩阵 40
2.2.4 高维矩阵 42
2.2.5 高维矩阵构作和操作函数汇总 45
2.2.6 “非数”和“空”矩阵 48
2.3 矩阵构造技法综合 50
2.4 矩阵运算 54
2.4.1 加法和减法 54
2.4.2 乘法 55
2.4.3 除法 58
2.4.4 转置和共轭 60
2.4.5 元素操作算术运算 60
2.4.6 元素操作函数 61
2.4.7 矩阵的乘方与函数 62
第3章 基本运算入门 64
3.1 常用数学函数 64
3.1.1 常见数学函数 64
3.1.2 三角函数和双曲线函数 67
3.1.3 复数函数 69
3.1.4 最大值和最小值 70
3.1.5 求和、乘积和差分 72
3.1.6 简单统计命令 74
3.1.7 排序 77
3.2 关系和逻辑运算及多项式运算 78
3.2.1 关系操作符 78
3.2.2 逻辑操作符 79
3.2.3 关系与逻辑函数 80
3.3 字符串 81
3.3.1 字符串入门 81
3.3.2 字符串的分配(属性和标识) 82
3.3.3 显示和输入 84
3.3.4 字符串求值 85
3.3.5 复杂字符串的创建 88
3.3.6 字符串转换函数 90
3.3.7 字符串操作函数 91
第4章 M文件初步 92
4.1 入门 92
4.2 M文件分类和操作 93
4.2.1 函数文件 93
4.2.2 非函数文件 94
4.2.3 M文件的操作 95
4.3 M文件的结构 95
4.3.1 函数文件的基本结构 95
4.3.2 函数调用 96
4.3.3 函数参数的可调性 96
4.3.4 全局变量与局部变量 97
4.3.5 实战:M函数文件操作练习 97
第5章 基本绘图 98
5.1 二维图形 98
5.1.1 基本平面图形命令 98
5.1.2 平面图形命令 105
5.1.3 二维图形注释命令 112
5.2 三维图形 116
5.2.1 三维曲线、面填色命令 116
5.2.2 三维图形等高线 118
5.2.3 曲面与网格图命令 122
5.2.4 三维数据的其他表现形式命令 127
第6章 矩阵高级运算 135
6.1 矩阵分解 135
6.1.1 Cholesky分解 135
6.1.2 LU分解 135
6.1.3 QR分解 136
6.1.4 Schur分解 137
6.1.5 实Schur分解转化成复Schur分解 138
6.1.6 特征值分解 138
6.1.7 奇异值分解 139
6.1.8 广义奇异值分解 139
6.1.9 特征值问题的QZ分解 140
6.1.10 海森伯格形式的分解 140
6.2 线性方程组的求解 141
6.2.1 求线性方程组的唯一解或特解(第一类问题) 141
6.2.2 求线性齐次方程组的通解 143
6.2.3 求非齐次线性方程组的通解 144
6.2.4 线性方程组的LQ解法 146
6.2.5 双共轭梯度法解方程组 147
6.2.6 稳定双共轭梯度方法解方程组 148
6.2.7 复共轭梯度平方法解方程组 149
6.2.8 共轭梯度的LSQR方法 149
6.2.9 广义最小残差法 150
6.2.10 最小残差法解方程组 151
6.2.11 预处理共轭梯度方法 152
6.2.12 准最小残差法解方程组 152
6.3 特征值与二次型 153
6.3.1 特征值与特征向量的求法 153
6.3.2 提高特征值的计算精度 154
6.3.3 复对角矩阵转化为实对角矩阵 154
6.3.4 正交基 155
6.3.5 二次型 155
6.4 秩与线性相关性 156
6.4.1 矩阵和向量组的秩以及向量组的线性相关性 156
6.4.2 求行阶梯矩阵及向量组的基 156
6.5 稀疏矩阵技术 157
6.5.1 稀疏矩阵的创建 157
6.5.2 将稀疏矩阵转化为满矩阵 158
6.5.3 稀疏矩阵非零元素的索引 159
6.5.4 外部数据转化为稀疏矩阵 159
6.5.5 基本稀疏矩阵 159
6.5.6 稀疏矩阵的运算 161
6.5.7 画稀疏矩阵非零元素的分布图形 162
6.5.8 矩阵变换 163
6.5.9 稀疏矩阵的近似欧几里德范数和条件数 165
6.5.10 稀疏矩阵的分解 165
6.5.11 稀疏矩阵的特征值分解 167
第7章 数值计算 168
7.1 引言 168
7.2 函数极值点 168
7.2.1 一元函数的极小值点 168
7.2.2 多元函数的极小值点 169
7.3 求零点 171
7.4 积分 173
7.4.1 一元函数的数值积分 174
7.4.2 多重数值积分 176
7.5 微分 178
7.6 微分方程 179
7.7 曲线拟合 184
7.8 插值 187
7.8.1 一维插值 187
7.8.2 二维插值 191
7.8.3 实战:插值M文件应用练习 192
第8章 专业数值运算 196
8.1 三次样条 196
8.1.1 基本特征 196
8.1.2 分段多项式 196
8.1.3 积分 200
8.1.4 微分 201
8.2 多项式及其操作 205
8.2.1 多项式的表达和创建 205
8.2.2 多项式的根 206
8.2.3 乘法 206
8.2.4 加法 207
8.2.5 除法 207
8.2.6 导数 208
8.2.7 估值 208
8.2.8 有理多项式 208
8.3 Fourier分析 210
8.3.1 快速Fourier变换 210
8.3.2 Fourier级数 215
第9章 符号计算 221
9.1 符号表达式 221
9.2 符号表达式运算 226
9.2.1 提取分子和分母 226
9.2.2 标准代数运算 227
9.2.3 高级运算 228
9.2.4 变换函数 230
9.2.5 变量替换 231
9.2.6 微分和积分 233
9.3 符号表达式画图 236
9.4 符号表达式简化和格式化 237
9.5 可变精度算术运算 239
9.6 方程求解 241
9.6.1 求解单个代数方程 241
9.6.2 代数方程组求解 242
9.6.3 单个微分方程 244
9.6.4 微分方程组 246
9.7 线性代数和矩阵 247
9.7.1 符号矩阵 247
9.7.2 代数运算 249
9.7.3 线性代数运算 250
9.7.4 其他特性 251
9.8 符号工具箱函数总结 253
第10章 MATLAB程序设计 255
10.1 顺序结构语句 255
10.1.1 表达式语句 255
10.1.2 赋值语句 255
10.1.3 空语句 255
10.1.4 输入语句 256
10.1.5 输出语句 257
10.1.6 变量值的保存与恢复 258
10.2 选择结构 260
10.2.1 If语句 260
10.2.2 switch语句 262
10.2.3 try语句 264
10.2.4 选择语句的嵌套 264
10.3 循环结构语句 264
10.3.1 for循环结构 264
10.3.2 循环嵌套 266
10.3.3 While循环 266
10.3.4 break语句 267
10.4 MATLAB控制流功能概括 268
10.5 文件读写函数 270
10.6 局部工作空间和基本工作空间 272
10.7 规则和属性 272
10.7.1 M文件函数 273
10.7.2 变量 274
10.7.3 函数调用 276
10.8 MATLAB编程技巧实战 278
第11章 图形处理 281
11.1 通用图形函数命令 281
11.1.1 图形对象句柄命令 281
11.1.2 轴的产生和控制命令 293
11.1.3 图形句柄操作命令 294
11.1.4 图形窗口的控制命令 296
11.2 颜色与光照模式命令 298
11.2.1 颜色控制命令 298
11.2.2 色图控制命令 300
第12章 句柄图形 302
12.1 谁需要句柄图形 303
12.2 什么是句柄图形对象 303
12.3 句柄对象 304
12.4 通用函数get和set 304
12.5 查找对象 308
12.6 用鼠标选择对象 311
12.7 位置和单位 312
12.8 图形打印 313
12.9 默认属性 314
12.10 非文件式属性 316
12.11 句柄图形实战 317
12.11.1 自制光标形状 317
12.11.2 任意布置子图和轴外注释 317
12.11.3 制作个性化双坐标系 319
12.11.4 连续变焦和飞驰图形 320
12.11.5 动画制作示例 322
12.11.6 surface指令衍生不同曲面 322
12.11.7 纹理影射和曲面彩绘 323
12.11.8 三维块建模和着色 324
12.11.9 鼠标拖动字对象 324
12.12 实用函数 326
12.13 属性名和属性值 333
12.14 小结 347
12.15 关键词索引 348
第13章 图形用户界面GUI制作 349
13.1 创建图形界面GUIr的理由 349
13.2 GUI对象层次结构 350
13.3 菜单 350
13.3.1 菜单的布置 351
13.3.2 建立菜单和子菜单 351
13.3.3 菜单实战举例 351
13.3.4 菜单属性 352
13.3.5 菜单快捷键 353
13.3.6 菜单的外观 354
13.3.7 颜色控制 355
13.3.8 菜单项去能 355
13.3.9 回调属性 356
13.3.10 实战:M文件举例 357
13.4 控制框 360
13.4.1 建立不同类型的控制框 361
13.4.2 控制框属性 365
13.4.3 控制框布置的考虑 367
13.4.4 实战:M文件举例 367
13.5 编程和回调考虑 369
第14章 Simulink交互式仿真集成环境 371
14.1 引导 371
14.1.1 Simulink启动与界面说明 371
14.1.2 Simulink模型窗的组成 372
14.2 模型的创建 372
14.2.1 仿真模块 372
14.2.2 信号线操作 373
14.2.3 常用的Source库信源 375
14.2.4 常用的Sink库信宿 376
14.3 示波器 377
14.3.1 示波器界面简介 377
14.3.2 示波器纵坐标范围的手工设置 377
14.4 Simulink在控制系统仿真中应用 378
14.4.1 Control System Toolbox(控制系统工具箱) 378
14.4.2 Simulink子模块库中与控制系统仿真有关的子模块库 378
14.5 Simulink命令集 379
第1 5章 MATLAB应用开发 381
15.1 将C或Fortran源程序转换为m文件 381
15.2 在其他语言中调用MATLAB 384
15.3 MATLAB应用界面开发工具的使用 385
15.4 用MATLAB编译器产生独立外部应用程序 390
15.5 从C或Fortran调用MATLAB 395
附录A 工具箱函数汇总 399
A.1 统计工具箱函数 399
A.2 优化工具箱函数 406
A.3 样条工具箱函数 408
A.4 偏微分方程数值解工具箱函数 409
A.5 MATLAB工具箱编写技巧 412
附录B MATLAB常用命令大全 413
参考文献 424