第1章 MATLAB概述 1
1.1 MATLAB语言的特点 1
1.2 MATLAB桌面操作环境 1
1.2.1 MATLAB的启动与退出 2
1.2.2 MATLAB的主菜单 2
1.2.3 MATLAB命令窗口 3
1.2.4 MATLAB工作空间 4
1.3 MATLAB帮助系统 7
1.3.1纯文本帮助 7
1.3.2演示程序 8
1.3.3帮助导航/浏览器 9
1.4 MATLAB的工具箱 10
1.4.1 MATLAB工具箱简介 11
1.4.2 MATLAB工具箱的添加 11
1.5上机练习题 12
第2章 MATLAB语言程序设计基础 13
2.1 MATLAB语言数据类型 13
2.1.1数值型数据 14
2.1.2符号型数据 15
2.1.3字符串 15
2.1.4元胞与结构体型数据 17
2.1.5不同数据类型之间的转换 17
2.2数值运算 18
2.2.1矩阵及其运算 18
2.2.2多项式及其运算 22
2.3符号运算 25
2.3.1符号表达式的操作函数 25
2.3.2符号微积分 26
2.3.3符号方程的求解 32
2.4 MATLAB语言程序控制结构 34
2.4.1顺序结构 34
2.4.2选择结构 36
2.4.3循环结构 39
2.4.4试探结构 41
2.5 M文件概述 42
2.5.1 M文件编辑器 42
2.5.2 M-脚本文件 42
2.5.3 M-函数文件 43
2.5.4几个特殊函数 44
2.6 MATLAB图形绘制 47
2.6.1二维图形的绘制 47
2.6.2三维图形的绘制 51
2.6.3图形修饰 55
2.6.4动画的制作 62
2.7上机练习题 64
第3章 误差理论 65
3.1误差的来源 65
3.1.1模型误差 65
3.1.2观测误差 65
3.1.3截断误差 66
3.1.4舍入误差 67
3.2误差的基本概念 67
3.3有效数字 68
3.4误差的积累与传播 69
3.4.1误差的积累 69
3.4.2误差的传播 71
3.5数值计算中应注意的问题 73
3.6 MATLAB语言的数值计算精度 75
3.6.1浮点数及其运算特点 75
3.6.2 MATLAB中的数值计算精度 75
3.7上机练习题 78
第4章 非线性方程(组)的求解 79
4.1二分法 79
4.1.1二分法基本原理 79
4.1.2二分法的执行流程及其MATLAB实现 80
4.1.3试位法 83
4.2简单迭代法 83
4.2.1简单迭代法基本原理 84
4.2.2简单迭代法的执行流程及其MATLAB实现 84
4.2.3简单迭代法的加速——Steffensen加速 86
4.3牛顿法 88
4.3.1牛顿迭代法基本原理 89
4.3.2牛顿迭代法的执行流程及其MATLAB实现 89
4.3.3牛顿迭代法的变形 91
4.4抛物线法 101
4.4.1抛物线法基本原理 101
4.4.2抛物线法的MATLAB实现 102
4.5非线性方程组的求解 103
4.5.1牛顿法及其MATLAB实现 104
4.5.2非线性方程的MATLAB函数求解 107
4.6实验范例:购房付款问题 112
4.7上机练习题 115
第5章 线性方程组的求解 117
5.1消去法 118
5.1.1 Gauss消去法 118
5.1.2追赶法 123
5.2矩阵分解法 125
5.2.1 LU分解 126
5.2.2 Cholesky分解 128
5.3方程组的性态与误差分析 131
5.3.1范数 131
5.3.2矩阵的条件数 134
5.3.3病态方程组的求解 136
5.4线性方程组的MATLAB函数求解 138
5.5线性方程组的迭代解法 140
5.5.1 Jacobi迭代法 140
5.5.2 Gauss-Seidel迭代法 143
5.5.3逐次超松弛迭代法 146
5.6实验范例:正方形槽的电位分布 149
5.7上机实验题 155
第6章 插值 157
6.1插值概述 157
6.2 LAGRANGE插值 157
6.3 NEWTON插值 159
6.4 HERMITE插值 162
6.5分段低次插值 164
6.5.1分段线性插值 165
6.5.2分段Hermite插值 166
6.6三次样条插值 168
6.7二维插值 173
6.7.1网格节点插值 174
6.7.2散乱节点插值 179
6.8实验范例:国土面积的计算 181
6.9上机练习题 184
第7章 函数逼近与数据拟合 186
7.1函数的最佳平方逼近 186
7.2数据的最小二乘拟合 189
7.2.1最小二乘法 190
7.2.2多元最小二乘拟合 194
7.2.3数据拟合的MATLAB函数求解 195
7.3实验范例:薄膜渗透率的测定 208
7.4上机练习题 211
第8章 数值积分与数值微分 213
8.1插值型求积方法 213
8.1.1梯形求积公式 214
8.1.2辛普森求积公式 219
8.1.3 Cotes公式 222
8.2自适应步长求积方法 224
8.2.1自适应步长梯形公式 225
8.2.2自适应步长辛普森公式 226
8.2.3自适应步长Cotes公式 227
8.2.4 Romberg求积公式 229
8.3 Gauss求积方法 230
8.3.1 Gauss求积公式的构造 231
8.3.2几个常用的Gauss求积公式 232
8.4特殊函数的积分 237
8.4.1振荡函数的积分 237
8.4.2反常(广义)积分 238
8.4.3重积分的近似计算 241
8.5数值积分的MATLAB函数求解 243
8.5.1 trapz()函数 243
8.5.2 quad()函数 243
8.5.3 quadgk()函数 244
8.5.4 dblquad()函数 246
8.5.5 triplequad()函数 248
8.6数值微分 249
8.6.1问题的提出 249
8.6.2中心差分算法 249
8.6.3梯度和法矢量的数值计算 251
8.7实验范例:自行车轮饰物的运动轨迹 254
8.8上机练习题 257
第9章 微分方程问题的求解 259
9.1单步方法 259
9.1.1 Euler方法 259
9.1.2 Euler方法的改进 262
9.1.3 Runge-Kutta方法 264
9.2线性多步法 269
9.2.1 Adams外推公式 269
9.2.2 Adams内插公式 270
9.2.3 Adams预测校正公式 271
9.3一阶微分方程组和高阶微分方程组 273
9.3.1一阶微分方程组 273
9.3.2高阶微分方程组 274
9.3.3微分方程组的MATLAB函数求解 276
9.4边值问题的求解 285
9.4.1打靶法 286
9.4.2边值问题的MATLAB函数求解 290
9.5实验范例:单摆模型及其拓展 292
9.6 上机练习题 296
第10章 矩阵特征值与特征向量的计算 298
10.1幂法及反幂法 298
10.1.1幂法 298
10.1.2幂法的加速 304
10.1.3反幂法 307
10.2 Jacobi方法 311
10.2.1实对称矩阵的旋转正交相似变换 311
10.2.2 Jacobi方法 313
10.3 QR方法 315
10.3.1 QR方法的基本思想 315
10.3.2化一般矩阵为拟上三角矩阵 316
10.3.3基本QR方法的MATLAB程序实现 321
10.4特征值与特征向量的MATLAB函数求解 323
10.5实验范例:遗传模型 326
10.6 上机练习题 332
第11章 优化问题的求解 334
11.1最优化问题概述 334
11.2线性规划 337
11.3无约束优化 340
11.4单目标约束优化 349
11.4.1带有变量边界约束的优化 349
11.4.2多变量约束优化 350
11.4.3二次规划 353
11.4.4半无限约束优化 356
11.5多目标约束优化 360
11.5.1极小极大优化 360
11.5.2目标规划 362
11.6最小二乘优化 363
11.6.1线性最小二乘优化 363
11.6.2非线性最小二乘优化 365
11.7混合整数规划 368
11.7.1线性整数规划(LIP) 368
11.7.2非线性整数规划(NLIP) 372
11.7.3 0-1规划 374
11.8实验范例:投资的收益与风险 375
11.9上机练习题 379
第12章 数值模拟 381
12.1蒙特卡罗方法 381
12.1.1蒙特卡罗方法基本思想 381
12.1.2蒙特卡罗方法的收敛性与误差估计 383
12.2随机数 385
12.2.1随机数的定义及产生 385
12.2.2伪随机数 385
12.2.3随机变量的分布与数字特征 395
12.2.4随机数的应用 398
12.3实验范例:报童的策略 411
12.4上机练习题 417
第13章 数值计算方法实际应用案例 418
13.1水塔水流量的估计 418
13.2导弹系统的改进 430
13.3飞行管理问题 437
13.4上机练习题 442
参考文献 444