描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787111577294
本书考虑到高等院校数学课程教学的安排及数学在工程中的实际应用,从实用角度出发,用MATLAB编写了大量的数值算法,系统地介绍了MATLAB在数值计算中的应用。另外,为了帮助读者更加高效地学习,作者对书中的程序语句添加了详细的注释,并专门针对每章的重点内容录制了长达12小时的同步配套教学视频。
本书共12章,涵盖的内容有MATLAB程序设计基础、MATLAB图形与动画、数值分析概述、非线性方程(组)的数值解法、线性方程组的数值解法、插值法、函数逼近与拟合、数值积分、数值微分、特征值与特征向量的计算、常微分方程的数值解法、混沌数值实验等。本书几乎对所有涉及的算法均给出了MATLAB实现程序或MATLAB自带函数的具体实现方式,并提供了164个实例和8个应用案例供读者参考。
本书可以作为高等院校数值分析课程的教学参考书,也可以作为MATLAB数学实验和数学建模方面的参考书。另外,对于工程领域中需要用到数值计算的工作人员,本书也是一本很好的参考书。
一分钟了解本书精华内容
MATLAB程序设计基础(15个实例)
MATLAB图形与动画(13个实例)
数值分析概述(9个实例)
非线性方程(组)的数值解法(19个实例、1个案例)
线性方程组的数值解法(16个实例、1个案例)
插值法(15个实例、1个案例)
函数逼近与拟合(13个实例、1个案例)
数值积分(23个实例、1个案例)
数值微分(10个实例、1个案例)
特征值与特征向量的计算(16个实例、1个案例)
常微分方程的数值解法(15个实例、1个案例)
混沌数值实验
前言
在线交流,有问有答
第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.6 M文件概述 37
1.6.1 M文件编辑器 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.8 MATLAB程序设计实例 44
第2章 MATLAB图形与动画 50
2.1 MATLAB图形窗口 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.7 MATLAB图形绘制实例 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.1 Sturm序列法 135
4.5.2 劈因子法 139
4.5.3 矩阵特征值法 142
4.6 非线性方程组的数值解 143
4.6.1 非线性方程组的不动点迭代法 143
4.6.2 非线性方程组的牛顿法 145
4.7 MATLAB自带函数应用 147
4.7.1 roots函数 147
4.7.2 fzero函数 148
4.7.3 fsolve函数 150
4.8 应用案例 151
第5章 线性方程组的数值解法 155
5.1 Gauss消去法 155
5.1.1 上三角形方程组的求解 156
5.1.2 顺序Gauss消去法 157
5.1.3 列选主元Gauss消去法 160
5.1.4 全选主元Gauss消去法 162
5.1.5 Gauss-Jordan消去法 163
5.1.6 追赶法 164
5.2 矩阵分解法 166
5.2.1 LU分解 166
5.2.2 Cholesky分解 168
5.3 线性方程组的迭代解法 170
5.3.1 范数与条件数 171
5.3.2 Jacobi迭代法 175
5.3.3 Gauss-Seidel迭代法 178
5.3.4 逐次超松弛迭代法 180
5.3.5 梯度法 183
5.4 病态方程组的求解 187
5.4.1 奇异值分解法 187
5.4.2 预处理共轭梯度法 189
5.5 MATLAB自带函数应用 192
5.5.1 rref函数 192
5.5.2 lu函数 192
5.5.3 chol函数 193
5.5.4 mldivide函数、左除(“”)运算符 194
5.5.5 mrdivide函数、右除(“/”)运算符 195
5.6 应用案例 195
第6章 插值法 201
6.1 插值多项式及存在性 201
6.2 Lagrange插值 202
6.3 Newton插值 206
6.4 Hermite插值 210
6.4.1 Lagrange型Hermite插值多项式 210
6.4.2 Newton型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.7 MATLAB自带函数应用 229
6.7.1 polyfit函数 229
6.7.2 interp1函数 230
6.7.3 interp2函数 233
6.7.4 griddata函数 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.2 Padé逼近 259
7.6 傅里叶逼近 262
7.7 MATLAB自带函数应用 264
7.7.1 polyfit函数 264
7.7.2 lsqcurvefit函数 266
7.7.3 nlinfit函数 267
7.7.4 lsqlin函数 268
7.7.5 lsqnonlin函数 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.4 Romberg求积公式 291
8.4 自适应求积方法 293
8.5 Gauss求积方法 295
8.5.1 Gauss求积公式的构造 295
8.5.2 几种常用的Gauss求积公式 297
8.6 重积分的数值解 303
8.7 MATLAB自带函数应用 304
8.7.1 trapz函数 304
8.7.2 integral函数 305
8.7.3 integral2函数 307
8.7.4 integral3函数 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.6 MATLAB自带函数应用 329
9.6.1 diff函数 329
9.6.2 gradient函数 330
9.6.3 surfnorm函数 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.1 Givens变换 353
10.3.2 基本Jacobi法 358
10.4 Givens法和Householder法 360
10.4.1 Householder变换 360
10.4.2 一般矩阵约化为上Hessenberg矩阵 362
10.4.3 实对称矩阵的三对角化 365
10.4.4 三对角阵特征值与特征向量的求解 367
10.5 QR方法 369
10.5.1 QR分解 369
10.5.2 基本QR方法 370
10.5.3 带原点位移的QR方法 372
10.6 MATLAB自带函数应用 373
10.6.1 hess函数 373
10.6.2 qr函数 374
10.6.3 eig函数 374
10.7 应用案例 376
第11章 常微分方程的数值解法 380
11.1 Euler方法 380
11.1.1 Euler公式的推导 380
11.1.2 Euler方法的改进 383
11.2 Runge-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.1 Adams外推公式 392
11.3.2 Adams内插公式 394
11.3.3 Adams预测校正公式 395
11.4 微分方程组的数值解 397
11.4.1 Euler方法 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.3 Adams隐式公式 403
11.6 边值问题的数值解 405
11.6.1 打靶法 405
11.6.2 差分法 409
11.7 MATLAB自带函数应用 411
11.7.1 ode系列函数 411
11.7.2 bvp系列函数 414
11.8 应用案例 416
第12章 混沌数值实验 422
12.1 线段自映射 422
12.1.1 映射的不动点和周期轨道 422
12.1.2 稳定和超稳定周期轨道 423
12.2 Logistic映射的倍周期分岔行为 425
12.2.1 Logistic方程的建立 425
12.2.2 Logistic映射的多样形态与分岔图 426
12.2.3 Feigenbaum普适常数 438
12.3 混沌的数学定义 440
12.4 Lyapunov指数 442
12.5 几种典型的离散混沌系统 444
12.5.1 广义Logistic映射 444
12.5.2 Henon映射 445
12.5.3 Clifford映射 447
12.6 几种典型的连续混沌系统 448
12.6.1 Lorenz系统 448
12.6.2 Rössler系统 450
12.6.3 Chua电路 452
参考文献 455
数值计算是一门理论性很强、应用面很广的学科。很多高等院校的理工科专业将数值计算方法作为一门必修课。在早期的数值计算方法的教学中,大部分院校由于课时、软件等原因,仅将其作为一门数学理论课,而对其应用的内容讲述不够,这使得学生感觉数值计算方法是一门非常枯燥乏味的课程。
随着计算机技术的普及与发展,市场上陆续涌现出了许多优秀的数学软件,如MATLAB、Mathematica及Maple等。其中,MATLAB软件以数值计算见长,Mathematica和Maple软件以符号运算和公式推导见长。本书选用MATLAB软件作为实现算法的工具。该软件强大的数值计算和可视化功能,不仅丰富了数学教学的手段,而且还使复杂、抽象的数学内容变得直观而鲜活。因此,在国外MATLAB被迅速地引入到数值计算方法课程中。
本书全面、系统地介绍了数值计算方法的相关内容及MATLAB算法实现。书中提供了大量的示例程序,并在第4~11章的后各给出了一个实用性和综合性都比较强的应用案例。本书既注重基础知识,又非常注重实践,读者通过对本书内容的学习,可以对MATLAB软件快速上手并迅速提高,不仅可以掌握MATLAB数值计算方法的基本知识,而且还可以灵活地将MATLAB运用到实际工作中,从而提升工作效率。
本书特色
1.视频教学,高效学习
为了便于读者高效、直观地学习本书内容,作者对每章的重点内容都特意制作了教学视频。这些视频和本书的实例源文件都上传到了网盘上供读者下载。
2.内容全面,结构合理
本书首先介绍了MATLAB程序设计基础、图形绘制及动画制作,然后逐章介绍了多种类型的数值计算方法。根据读者的学习规律和习惯,本书在内容结构的编排上,对MATLAB数值计算方法的相关知识进行了合理的梯度安排,更加适合读者学习。
3.内容实用,例程丰富
本书内容非常实用,讲解时穿插了164个示例和8个综合应用案例,这些例子都是作者精挑细选的,具有很强的针对性。特别是,本书中的8个综合应用案例都是对该章内容的一个总结。另外,书中所有例程的实现代码都优先考虑通用性,便于读者在解决问题时可以直接将代码移植使用。
4.语言通俗,图文并茂
本书用通俗易懂的语言讲解。对于重点内容及程序的运行结果,书中给出了大量的图示,读者理解起来更加直观。
5.由浅入深,循序渐进
本书注重背景知识的讲解和推导过程的展现,读者可在作者的引导下先理解基本原理和思路,然后再通过典型示例加深对理论的理解,并通过综合应用案例提高编程解决实际问题的能力。
6.代码翔实,注释丰富
本书中的大量示例和综合应用案例都给出了翔实的代码,而且几乎对大部分的代码语句做了注释,可谓详尽之极。
本书内容
本书共12章,内容简单介绍如下:
第1、2章主要介绍了MATLAB的一些基础知识,如MATLAB程序设计基础、MATLAB图形绘制及动画制作等。
第3~12章主要介绍了数值计算方法的相关内容,包括数值分析概述、非线性方程(组)的数值解法、线性方程组的数值解法、插值法、函数逼近与拟合、数值积分、数值微分、特征值与特征向量的计算、常微分方程的数值解法及混沌数值实验等。
本书读者对象
l 高等院校理工科专业的学生和老师;
l 数学建模爱好者;
l 从事算法研究的技术人员;
l MATLAB爱好者。
本书配套资源
为了方便读者高效学习,本书特意提供了以下配套资源:
l 教学视频;
l 源代码文件;
l 教学PPT。
在此感谢家人、同事及所有在本书写作过程中提供过帮助的人!另外,本书在编写过程中参考了一些优秀论文及文献,在此对相关作者也特别表示感谢!由于时间仓促,加之作者水平所限,书中可能存在疏漏之处,恳请广大读者指正。读者在阅读本书时若有疑问,可以在MATLAB中文论坛的本书交流模块提问,也可以发电子邮件联系作者。
评论
还没有评论。