基础知识导论 1
1MATLAB 概述 1
1.1 MATLAB的发展历程和应用 2
1.2 MATLAB的特点 7
1.3 MATLAB的工具箱 8
1.4 MATLAB的工作环境 9
1.4.1 MATLAB的启动与退出 9
1.4.2 MATLAB主功能表及功能 10
1.4.3 MATLAB指令窗口 15
1.4.4 MATLAB工作空间 17
1.4.5 MATLAB文件管理 18
1.4.6 MATLAB帮助使用 19
2MATLAB 程式设计基础 21
2.1变数与常量 22
2.2资料类型 22
2.2.1数值型 23
2.2.2 字元与字串 25
2.2.3细胞阵列 28
2.2.4构架阵列 28
2.3关系运算与逻辑运算 28
2.4档案与程式结构 29
2.4.1 M档案 29
2.4.2输入与输出 31
2.5 MATLAB程式基本语句 34
2.5.1程式分支控制语句 34
2.5.2程式回圈控制语句 38
2.5.3程式终止控制语句 41
2.5.4程式异常处理语句 41
2.6 MATLAB函数 43
2.6.1函数 43
2.6.2子函数 44
2.6.3私有函数 45
2.6.4嵌套函数 46
2.7 MATLAB程式侦错 47
2.7.1侦错方法 47
2.7.2侦错工具 48
2.8基本绘图方法 50
2.8.1二维图形函数与呼叫方法 50
2.8.2二维图形处理 57
2.8.3三维图形的基本函数 66
2.8.4三维曲线图 67
2.8.5三维网格图 68
2.8.6立体曲面图 69
2.8.7专用图形 73
2.9数值矩阵 83
2.9.1数值矩阵的创造 83
2.9.2数值矩阵的矩阵演算法 89
2.9.3数值矩阵的阵列演算法 95
3误差 99
3.1误差的分类 100
3.1.1输入资料的误差 100
3.1.2舍入误差 100
3.1.3截断误差 100
3.2绝对误差、相对误差和有效数字 102
3.2.1绝对误差 102
3.2.2相对误差 102
3.2.3有效数字 103
3.3电脑的浮点数和舍入误差 104
3.3.1电脑的浮点数表示 104
3.3.2舍入误差的精度损失 105
3.4误差估计 106
3.5数值运算中的一些原则 107
3.5.1要有数值稳定性 107
3.5.2要防止大数吃掉小数 108
3.5.3要避免两相近数相加 109
3.5.4 要避免除数绝对值远小于被除数绝对值 110
3.5.5要减少运算次数 110
3.6 MATLAB中的数值计算精确度 111
4插值法与曲线拟合 113
4.1拉格朗日(Lagarrange)插值法 115
4.1.1线性插值 115
4.1.2抛物插值 116
4.1.3拉格朗日插值多项式与插值馀项 117
4.1.4拉格朗日插值的MATLAB 118
4.2艾特金(Aitken)演算法 120
4.2.1构造艾特金插值表 120
4.2.2艾特金插值的MATLAB实现 122
4.3牛顿插(Newton)值法 125
4.3.1差商 125
4.3.2牛顿插值 126
4.3.3牛顿插值的MATLAB实现 127
4.4差分与等间距节点插值法 129
4.4.1差分 130
4.4.2等间距节点插值公式 132
4.5赫米特(Hermite)插值法 137
4.5.1赫米特插值函数 137
4.5.2 赫米特插值的MATLAB 139
4.6有理分式插值法 142
4.6.1有理函数插值的基本概念 142
4.6.2有理函数插值的存在性 143
4.6.3连分式插值 144
4.6.4逐步有理插值 147
4.7函数逼近 150
4.7.1正交多项式 150
4.7.2拉建杰多项式 152
4.7.3柴比雪夫多项式 154
4.8曲线擬合 158
4.8.1最小二乘法 158
4.8.2MATLAB中的最小二乘法 160
4.8.3MATLAB中的曲线拟合 161
4.9 MATLAB中的插值函数 163
4.9.1一元函数的插值指令 163
4.9.2二元函数的插值指令 166
5线性方程组的数值解法 169
5.1高斯消去法 171
5.1.1顺序消去法 171
5.1.2列主元素高斯消去法 175
5.1.3高斯-乔登消去法 181
5.2分解法 185
5.2.1 LU分解法 185
5.2.2对称正定矩阵的乔莱斯基分解 190
5.3叠代法 193
5.3.1杰可比叠代法 193
5.3.2高斯-赛德叠代法 196
5.3.3逐次超松弛叠代法 199
5.4MATLAB中线性方程组数值解的函数 203
5.4.1求矩阵的秩(rank) 203
5.4.2求矩阵的零空间向量null() 205
5.5 MATLAB中矩阵三角分解的函数 209
6非线性方程求解 217
6.1非线性方程求解方法 219
6.1.1二分法 219
6.1.2叠代法 223
6.1.3牛顿法 227
6.1.4抛物线法 231
6.1.5割线法 234
6.2求解非线性方程值解的MATLAB函数 238
6.2.1代数方程的求根函数root() 238
6.2.2求函数零点的函数fzero() 239
6.2.3求方程组数值解的指令 242
6.3求解非线性方程的MATLAB符号命令 246
7数值微分与数值积分 251
7.1数值微分方法 252
7.1.1平均变化率方法 252
7.1.2三点公式 256
7.1.3样条求导数 259
7.1.4理查森外推加速法 263
7.2 MATLAB常用数值微分函数举例 265
7.2.1函数diff() 265
7.2.2函数(gradient)和函数(surfnorm) 267
7.2.3函数jacoian() 270
7.3数值积分 271
7.3.1插值型的求积公式 273
7.3.2内插求积公式 274
7.4梯形公式、抛物线公式与牛顿-柯特斯公式 274
7.4.1梯形公式 275
7.4.2辛普生公式 278
7.4.3牛顿-柯特斯公式 282
7.5复合式求积公式 288
7.5.1复合式梯形求积公式 289
7.5.2复合式抛物线形求积公式 291
7.6高斯-拉建杰求积公式 293
7.6.1高斯-拉建杰求积公式基本原理 294
7.6.2高斯-拉建杰求积公式的MATLAB 295
7.7隆贝格求积公式 298
7.7.1隆贝格求积公式简介 298
7.7.2隆贝格求积公式的MATLAB 299
7.8复合式求积公式的函数 301
7.8.1复合式矩阵形法求积计算函数sum() 301
7.8.2复合式梯形法求积函数trapz() 304
7.9 MATLAB常用数值积分函数 308
7.9.1函数quad() 308
7.9.2函数quadl() 311
7.9.3函数dblquad() 312
7.9.4函数triplequad() 317
7.9.5计算积分的MATLAB符号法 319
8矩阵特征值的计算 329
8.1特征值与特征向量的基础知识 330
8.1.1概念及性质 330
8.1.2向量模 332
8.1.3矩阵模 334
8.1.4谱半径 335
8.1.5叠代法的收敛性 336
8.1.6叠代法的误差估计 336
8.2特征值求取 337
8.2.1特征多项式法 337
8.2.2幂次法 338
8.2.3反幂次法 346
8.2.4 QR方法基础 350
8.3函数eig()计算特征值 353
8.4舒尔分解法和奇异值分解 356
8.5矩阵幂次计算 357
8.6计算模和矩阵谱半径的函数 359
9常微分方程的数值解 363
9.1常微分方程的基本概念 364
9.2 欧拉方法 365
9.2.1欧拉方法 365
9.2.2欧拉法的局部截断误差 368
9.2.3隐式欧拉法 369
9.2.4两步欧拉方法 370
9.2.5改进的欧拉法 371
9.3兰吉-库塔法 373
9.3.1兰吉-库塔法的基本概念 373
9.3.2二阶兰吉-库塔法 374
9.3.3三阶兰吉-库塔法 376
9.3.4四阶兰吉-库塔法 376
9.4亚当斯方法 378
9.4.1亚当斯方法 378
9.4.2亚当斯预测-校正系统 380
9.5在MATLAB中求解常微分方程的初值问题 381
9.5.1欧拉法 381
9.5.2隐式欧拉法 383
9.5.3改进的欧拉法 385
9.5.4二阶兰吉-库塔法 387
9.5.5三阶兰吉-库塔法 391
9.5.6四阶兰吉-库塔法 394
9.5.7亚当斯法 400
9.5.8其他方法的应用 406
9.5.9求常微分方程初值问题数值解的函数 428