本书以数值分析为基础、以实际应用为目的,强调算法设计与分析的基本方法而略去数学原理的繁琐证明过程,仅通过例题说明方法的本质,由浅入深地讲解了MATLAB在数值计算中的应用。本书涵盖的主要内容有:MATLAB程序设计基础、数值分析概述、非线性方程(组)的数值解法、线性方程组的数值解法、插值法、函数逼近与拟合、数值积分、数值微分、特性值与特性向量的计算、常微分方程的数值解法、数值模拟、混沌数值试验等。本书适合对数值分析感兴趣的读者和高校理工科专业的学生,以及相关工程技术人员。
封面图
目录
- 前言
- 在线交流,有问有答
- 第1章MATLAB程序设计基础 1
- 1.1程序基本要素 1
- 1.1.1关键字 1
- 1.1.2变量 2
- 1.1.3运算符 4
- 1.2数据类型 7
- 1.2.1数值型数据 8
- 1.2.2字符串 11
- 1.2.3元胞数组 13
- 1.2.4结构体 14
- 1.2.5表格型数据 15
- 1.2.6函数句柄 18
- 1.2.7不同数据类型之间的转换 19
- 1.3数值运算 20
- 1.3.1数组及其运算 20
- 1.3.2多项式及其运算 24
- 1.4符号运算 26
- 1.4.1符号对象的创建 26
- 1.4.2符号表达式的操作 28
- 1.5程序控制流 28
- 1.5.1顺序结构 29
- 1.5.2选择结构 30
- 1.5.3循环结构 33
- 1.5.4试探结构 36
- 1.6M文件概述 37
- 1.6.1M文件编辑器 37
- 1.6.2脚本文件 38
- 1.6.3实时脚本文件 39
- 1.6.4函数文件 40
- 1.7变量检测与传递 41
- 1.7.1输入、输出变量检测 41
- 1.7.2“变长度”输入、输出变量 41
- 1.7.3跨空间变量传递 43
- 1.8MATLAB程序设计实例 44
- 第2章MATLAB图形与动画 50
- 2.1MATLAB图形窗口 50
- 2.2二维图形的绘制 51
- 2.2.1基本绘图方法 51
- 2.2.2子图的绘制 56
- 2.3二维图形的修饰 58
- 2.3.1图形标注 58
- 2.3.2坐标轴的控制 65
- 2.4三维图形的绘制 67
- 2.4.1三维曲线图的绘制 67
- 2.4.2三维网格图的绘制 68
- 2.4.3三维曲面图的绘制 70
- 2.5动画的制作 71
- 2.5.1电影动画 71
- 2.5.2实时动画 74
- 2.6图像基本处理 75
- 2.6.1图像信息的查询 75
- 2.6.2图像数据的读取 75
- 2.6.3图像的显示 76
- 2.6.4图像数据的写入 79
- 2.7MATLAB图形绘制实例 79
- 第3章数值分析概述 87
- 3.1数值分析主要内容及任务 87
- 3.2误差理论 88
- 3.2.1误差来源 88
- 3.2.2绝对误差与相对误差 91
- 3.2.3有效数字 91
- 3.2.4误差的传播与估计 93
- 3.3数值算法概述 95
- 3.3.1迭代法 95
- 3.3.2数值算法的稳定性 104
- 3.4数值计算中应注意的问题 107
- 第4章非线性方程(组)的数值解法 111
- 4.1划界法 111
- 4.1.1图解法 111
- 4.1.2二分法 112
- 4.1.3试位法 116
- 4.2迭代法 117
- 4.2.1不动点迭代法 117
- 4.2.2牛顿法 119
- 4.2.3割线法 123
- 4.2.4抛物线法 125
- 4.2.5逆二次插值法 127
- 4.3布伦特法 129
- 4.4重根 132
- 4.5多项式方程的根 134
- 4.5.1Sturm序列法 135
- 4.5.2劈因子法 139
- 4.5.3矩阵特征值法 142
- 4.6非线性方程组的数值解 143
- 4.6.1非线性方程组的不动点迭代法 143
- 4.6.2非线性方程组的牛顿法 145
- 4.7MATLAB自带函数应用 147
- 4.7.1roots函数 147
- 4.7.2fzero函数 148
- 4.7.3fsolve函数 150
- 4.8应用案例 151
- 第5章线性方程组的数值解法 155
- 5.1Gauss消去法 155
- 5.1.1上三角形方程组的求解 156
- 5.1.2顺序Gauss消去法 157
- 5.1.3列选主元Gauss消去法 160
- 5.1.4全选主元Gauss消去法 162
- 5.1.5Gauss-Jordan消去法 163
- 5.1.6追赶法 164
- 5.2矩阵分解法 166
- 5.2.1LU分解 166
- 5.2.2Cholesky分解 168
- 5.3线性方程组的迭代解法 170
- 5.3.1范数与条件数 171
- 5.3.2Jacobi迭代法 175
- 5.3.3Gauss-Seidel迭代法 178
- 5.3.4逐次超松弛迭代法 180
- 5.3.5梯度法 183
- 5.4病态方程组的求解 187
- 5.4.1奇异值分解法 187
- 5.4.2预处理共轭梯度法 189
- 5.5MATLAB自带函数应用 192
- 5.5.1rref函数 192
- 5.5.2lu函数 192
- 5.5.3chol函数 193
- 5.5.4mldivide函数、左除(“\”)运算符 194
- 5.5.5mrdivide函数、右除(“/”)运算符 195
- 5.6应用案例 195
- 第6章插值法 201
- 6.1插值多项式及存在唯一性 201
- 6.2Lagrange插值 202
- 6.3Newton插值 206
- 6.4Hermite插值 210
- 6.4.1Lagrange型Hermite插值多项式 210
- 6.4.2Newton型Hermite插值多项式 211
- 6.5分段低次插值 213
- 6.5.1高次插值的Runge现象 213
- 6.5.2分段线性插值 214
- 6.5.3分段三次Hermite插值 216
- 6.5.4三次样条插值 218
- 6.6二维插值 225
- 6.6.1网格节点插值 225
- 6.6.2散乱节点插值 228
- 6.7MATLAB自带函数应用 229
- 6.7.1polyfit函数 229
- 6.7.2interp1函数 230
- 6.7.3interp2函数 233
- 6.7.4griddata函数 235
- 6.8应用案例 237
- 第7章函数逼近与拟合 240
- 7.1正交多项式 240
- 7.1.1正交函数族 240
- 7.1.2几个常用的正交多项式 242
- 7.2最佳一致逼近 246
- 7.3最佳平方逼近 249
- 7.4最小二乘拟合 252
- 7.4.1线性最小二乘拟合 253
- 7.4.2非线性最小二乘拟合 255
- 7.4.3多元最小二乘拟合 256
- 7.5有理函数逼近 256
- 7.5.1连分式逼近 257
- 7.5.2Padé逼近 259
- 7.6傅里叶逼近 262
- 7.7MATLAB自带函数应用 264
- 7.7.1polyfit函数 264
- 7.7.2lsqcurvefit函数 266
- 7.7.3nlinfit函数 267
- 7.7.4lsqlin函数 268
- 7.7.5lsqnonlin函数 269
- 7.8应用案例 270
- 第8章数值积分 275
- 8.1插值型求积方法 275
- 8.1.1梯形公式 276
- 8.1.2辛普森公式 277
- 8.1.3柯特斯公式 278
- 8.2复化求积公式 279
- 8.2.1复化梯形公式 279
- 8.2.2复化辛普森公式 281
- 8.2.3复化柯特斯公式 283
- 8.2.4复化求积公式误差分析 285
- 8.3步长逐次减半求积方法 286
- 8.3.1步长逐次减半梯形求积公式 287
- 8.3.2步长逐次减半辛普森求积公式 288
- 8.3.3步长逐次减半柯特斯求积公式 290
- 8.3.4Romberg求积公式 291
- 8.4自适应求积方法 293
- 8.5Gauss求积方法 295
- 8.5.1Gauss求积公式的构造 295
- 8.5.2几种常用的Gauss求积公式 297
- 8.6重积分的数值解 303
- 8.7MATLAB自带函数应用 304
- 8.7.1trapz函数 304
- 8.7.2integral函数 305
- 8.7.3integral2函数 307
- 8.7.4integral3函数 307
- 8.8应用案例 308
- 第9章数值微分 313
- 9.1利用差商近似导数 313
- 9.1.1中点公式 313
- 9.1.2利用Taylor公式构造差商公式 314
- 9.1.3差商公式误差分析与步长优化 319
- 9.1.4理查森外推法 321
- 9.2插值型求导方法 323
- 9.3样条求导 325
- 9.4利用数值积分求导数 327
- 9.5数值偏导数 329
- 9.6MATLAB自带函数应用 329
- 9.6.1diff函数 329
- 9.6.2gradient函数 330
- 9.6.3surfnorm函数 331
- 9.7应用案例 333
- 第10章特征值与特征向量的计算 339
- 10.1特征值问题概述 339
- 10.1.1特征多项式 339
- 10.1.2特征值范围估计 340
- 10.2幂法及反幂法 341
- 10.2.1幂法 341
- 10.2.2幂法的加速 344
- 10.2.3反幂法 350
- 10.2.4混合幂法 352
- 10.3实对称矩阵的Jacobi法 353
- 10.3.1Givens变换 353
- 10.3.2基本Jacobi法 358
- 10.4Givens法和Householder法 360
- 10.4.1Householder变换 360
- 10.4.2一般矩阵约化为上Hessenberg矩阵 362
- 10.4.3实对称矩阵的三对角化 365
- 10.4.4三对角阵特征值与特征向量的求解 367
- 10.5QR方法 369
- 10.5.1QR分解 369
- 10.5.2基本QR方法 370
- 10.5.3带原点位移的QR方法 372
- 10.6MATLAB自带函数应用 373
- 10.6.1hess函数 373
- 10.6.2qr函数 374
- 10.6.3eig函数 374
- 10.7应用案例 376
- 第11章常微分方程的数值解法 380
- 11.1Euler方法 380
- 11.1.1Euler公式的推导 380
- 11.1.2Euler方法的改进 383
- 11.2Runge-Kutta方法 385
- 11.2.1二阶Runge-Kutta方法 385
- 11.2.2三阶Runge-Kutta方法 388
- 11.2.3四阶Runge-Kutta方法 390
- 11.2.4隐式Runge-Kutta方法 391
- 11.3线性多步法 392
- 11.3.1Adams外推公式 392
- 11.3.2Adams内插公式 394
- 11.3.3Adams预测校正公式 395
- 11.4微分方程组的数值解 397
- 11.4.1Euler方法 397
- 11.4.2经典四阶Runge-Kutta方法 398
- 11.4.3高阶方程组的求解 399
- 11.5刚性方程组的数值解 401
- 11.5.1梯形公式 401
- 11.5.2隐式Runge-Kutta方法 402
- 11.5.3Adams隐式公式 403
- 11.6边值问题的数值解 405
- 11.6.1打靶法 405
- 11.6.2差分法 409
- 11.7MATLAB自带函数应用 411
- 11.7.1ode系列函数 411
- 11.7.2bvp系列函数 414
- 11.8应用案例 416
- 第12章混沌数值实验 422
- 12.1线段自映射 422
- 12.1.1映射的不动点和周期轨道 422
- 12.1.2稳定和超稳定周期轨道 423
- 12.2Logistic映射的倍周期分岔行为 425
- 12.2.1Logistic方程的建立 425
- 12.2.2Logistic映射的多样形态与分岔图 426
- 12.2.3Feigenbaum普适常数 438
- 12.3混沌的数学定义 440
- 12.4Lyapunov指数 442
- 12.5几种典型的离散混沌系统 444
- 12.5.1广义Logistic映射 444
- 12.5.2Henon映射 445
- 12.5.3Clifford映射 447
- 12.6几种典型的连续混沌系统 448
- 12.6.1Lorenz系统 448
- 12.6.2R ssler系统 450
- 12.6.3Chua电路 452
- 参考文献 455