第1章 MATLAB简介 1
1.1 概述 1
1.2 运行环境介绍 1
1.2.1 MATLAB的运行方式 1
1.2.2 MATLAB中的窗口 3
1.3 MATLAB的帮助系统 7
1.3.1 命令行帮助 7
1.3.2 联机帮助 8
1.3.3 演示帮助 9
第2章 数值运算 10
2.1 MATLAB中的变量 10
2.2.1 数组构造 11
2.2 数组及向量运算 11
2.2.2 数组运算 13
2.2.3 向量运算 15
2.3 矩阵运算 16
2.3.1 矩阵构造 17
2.3.2 矩阵的基本运算 18
2.3.3 矩阵的常用函数运算 22
2.3.4 矩阵的分解运算 25
2.3.5 特殊矩阵的生成 31
2.3.6 稀疏矩阵的生成 32
2.4 多项式运算 35
2.4.1 多项式构造 35
2.4.2 多项式运算 36
2.4.3 多项式的拟合 38
2.5.1 关系与逻辑操作符 39
2.5 关系和逻辑运算 39
2.5.2 测试函数 41
2.6 数据分析 41
2.6.1 基本数据操作函数 42
2.6.2 有限差分类函数 47
2.6.3 相关关系类函数 49
第3章 符号运算 51
3.1 符号表达式的生成 51
3.2 符号表达式的运算 53
3.2.1 提取分子、分母 53
3.2.2 符号表达式的基本代数运算 53
3.2.3 符号表达式的高级运算 55
3.3.1 将符号表达式转换成数值表达式 57
3.3 符号与数值间的转换及符号的可变精度运算 57
3.3.2 将数值转换成符号表达式 58
3.3.3 可变精度运算 58
3.4 符号表达式的化简 59
3.5 符号矩阵 61
3.5.1 符号矩阵的生成 62
3.5.2 符号矩阵的运算 62
3.6 符号微积分 66
3.6.1 符号极限 66
3.6.2 符号微分 67
3.6.3 符号积分 68
3.7 符号函数画图 69
3.8 符号方程求解 71
3.8.1 符号代数线性方程求解 71
3.8.2 符号代数非线性方程求解 72
3.8.3 符号微分方程求解 73
3.9 Maple命令 74
3.9.1 Maple(statement) 75
3.9.2 Maple( function , argl, Arg2) 75
第4章 MATLAB的图形表达功能 77
4.1 基本二维图形 77
4.1.1 曲线图 77
4.1.2 对数坐标图 80
4.1.3 半对数坐标图 82
4.1.4 多轴曲线图 85
4.2 特殊二维图形 87
4.2.1 条形图、水平条形图 87
4.2.2 面积图 89
4.2.3 饼图 90
4.2.4 彗星图 92
4.2.5 误差条图 93
4.2.6 函数曲线图 95
4.2.7 帕累托图 97
4.2.8 散点图 98
4.2.9 散点矩阵图 99
4.2.10 直方图 100
4.2.11 玫瑰花图 101
4.2.12 火柴杆图 102
4.2.13 阶梯图 103
4.2.14 罗盘图 104
4.2.15 羽列图 105
4.2.16 多边形面积图 106
4.2.17 向量图 107
4.2.18 等值线图 109
4.2.19 交互绘图 114
4.2.20 极坐标图 115
4.2.21 图区控制 116
4.3 三维图形 117
4.3.1 三维条形图和三维水平条形图 117
4.3.2 柱形图 119
4.3.3 三维彗星图 121
4.3.4 带形图 122
4.3.5 三维散点图 123
4.3.6 三维饼图 124
4.3.7 三维火柴杆图 125
4.3.8 三维矢量图 126
4.3.9 切片图 127
4.3.10 瀑布图 131
4.3.11 三维等值线图 132
4.3.12 三维网格图 134
4.3.13 三维表面图 135
4.3.14 线性三维图 139
4.3.15 三角形网格图 141
4.3.16 三角形表面图 142
4.4 体积可视化 143
4.4.1 流线图 143
4.4.2 流锥图 145
4.4.3 流沙图 148
4.4.4 流带图 151
4.4.5 切片流线图 155
4.4.6 流管图 158
4.4.7 卷曲图 160
4.4.8 切片等值线图 162
4.4.9 综合实例 164
4.5 图形格式控制 176
4.5.1 标题的添加 176
4.5.2 图例 178
4.5.3 坐标轴标题 180
4.5.4 文本的添加 181
4.5.5 添加箭头和直线 186
4.5.6 基本数据统计量的添加 187
4.6 图形属性控制 188
4.6.1 图形的缩放 188
4.6.2 网格显示控制 189
4.6.3 图形的叠加 189
4.6.4 图形的颜色 190
4.6.5 三维图形的视图控制 193
4.6.6 三维图形的光照控制 195
4.7 坐标轴属性控制 205
4.7.1 标签属性 205
4.7.2 坐标轴的位置 206
4.7.3 单个坐标轴的控制 206
4.8 图形窗口控制 207
4.8.1 图形窗口的创建 207
4.8.2 图形的刷新和清除 208
4.8.3 关闭图形窗口 209
第5章 程序设计——M文件 210
5.1 M文件简介 210
5.2.2 循环结构 212
5.2.1 顺序结构 212
5.2 M文件的程序结构 212
5.2.3 分支结构 214
5.3 程序流控制 216
5.4 M文件举例 218
第6章 MATLAB与其他语言的连接 221
6.1 概述 221
6.1.1 基本概念 221
6.1.2 MEX接口函数 222
6.2 MATLAB的接口函数库 225
6.2.1 engine函数库 225
6.2.2 mex函数库 226
6.2.3 mat函数库 229
6.2.4 mx函数库 230
6.3.1 用C语言编写MEX文件 235
6.3 MATLAB与C语言的接口 235
6.3.2 在C语言中使用MATLAB编写C主函数 247
6.4 MATLAB与C++语言的接口 254
6.4.1 用C++语言编写MEX文件 254
6.4.2 在C++语言中使用MATLAB编写C++主函数 259
第7章 图形用户界面(GUI)设计 262
7.1 图形对象句柄 262
7.1.1 图形对象 262
7.1.2 图形对象句柄 263
7.2 GUI设计工具 264
7.2.1 对象设计编辑器 265
7.2.2 菜单编辑器 267
7.2.3 对象属性查看器 268
7.2.4 位置调整工具 269
7.2.5 对象浏览器 270
7.3 菜单 271
7.3.1 菜单建立 271
7.3.2 菜单属性 273
7.4 控件 279
7.4.1 控件对象类型 279
7.4.2 控件建立 281
7.4.3 控件属性 285
7.4.4 控件属性设置 292
7.5 对话框 294
7.5.1 公共对话框 295
7.5.2 一般对话框 301
7.6.1 全局变量与用户数据属性 309
7.6 GUI的编程 309
7.6.2 脚本式M文件 312
7.6.3 函数式M文件 313
7.7 鼠标操作 316
7.7.1 鼠标按下的处理 316
7.7.2 鼠标移动的处理 317
7.7.3 鼠标释放的处理 317
7.8 GUI设计实例 317
第8章 计算方法的MATLAB实现 336
8.1 方程求根 336
8.2 线性方程组数值解法 337
8.2.1 直接解法 337
8.2.2 线性方程组求解中的变换 337
8.2.3 迭代解法 339
8.3.1 不动点迭代法 343
8.3 非线性方程组数值解法 343
8.3.2 Newton迭代法 344
8.3.3 拟Newton法 345
8.4 插值与拟合 349
8.4.1 一维线性插值 349
8.4.2 二维线性插值 350
8.4.3 三维线性插值 352
8.4.4 Lagrange插值 353
8.4.5 Newton插值 354
8.4.6 三次样条插值 356
8.4.7 最小二乘法曲线拟合 357
8.5 数值积分与数值微分 359
8.5.1 Newton-Cotes求积公式 359
8.5.2 Gauss求积公式 362
8.5.3 Romberg(龙贝格)求积公式 363
8.5.4 数值微分 364
8.6 代数特征值问题的计算方法 367
8.6.1 特征值与特征向量 367
8.6.2 Schur法分解 368
8.6.3 Hessenberg法分解 369
8.6.4 QR法分解 369
8.6.5 广义特征值的QZ分解 371
8.7 常微分方程的数值解法 372
8.7.1 Euler方法 372
8.7.2 Runge-Kutta方法 373
8.7.3 线性多步法 376
8.7.4 一阶方程组与高阶方程解法 378