书籍作者:张晓 | ISBN:9787111516231 |
书籍语言:简体中文 | 连载状态:全集 |
电子书格式:pdf,txt,epub,mobi,azw3 | 下载次数:9978 |
创建日期:2021-02-14 | 发布日期:2021-02-14 |
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板 |
本书详细阐述了谱方法基本原理、重要技巧,同时着重介绍了它的Matlab实现。结合不同的边界条件(周期性边界条件,第 一、二、三类边界条件),基本涵盖了所有常见的微分问题。每个实例的提出均是为了说明某一技术的利用方法或某一类问题的通用解法。使读者既明白谱方法的来龙去脉,又真正获得了实际的Matlab编程能力。
张晓,85后,博士。曾以联合培养博士生身份赴美国华盛顿大学研习数值计算方法及其在光学中的应用,目前在清华大学物理系做博士后研究工作。研究方向包括锁模激光技术、光学相干层层析成像和高速全光信号处理。爱好计算机网络技术,出版图书有出版图书有《黑客攻防入门与进阶全程实录》、《骇客入侵秘辛与防御过程全攻略》,并为网络安全期刊撰稿多年。
这是一本原创程度很高的Matlab图书。书中代码虽然是面向微分方程数值解的,但多数Matlab用户能够从中学到新颖、前卫的Matlab编程技巧。
我刚开始进行微分方程数值求解是在读硕士的时候,当时查找了很多资料,用现在看来很蹩脚的办法写了大段的 Matlab 代码解决了一个描述激光器谐振腔的简单边值问题。
随后我开始对数值计算产生了强烈的兴趣,继续用不那么专业的方法处理研究中遇到的微分方程。直到读博期间我得到了国家留学基金委的资助,到美国华盛顿大学(UniversityofWashington)应用数学系接受联合培养,在系主任 J. Nathan Kutz 教授的课堂上、组会上以及每周 1~2 次的面对面单独指导中,我接触到了谱方法(spectral method)。谱方法巧妙的原理和导师精湛的 Matlab 编程技艺深深地震撼了我。求解微分方程(组)竟可以如此简洁、高效、优雅,那段时间内几乎每天我都会产生这样的感慨。回国后我曾在不同场合做过关于我理论结果的现场报告,于是常有研究生向我请教那些复杂的微分方程(组)是如何求解的。我在他们身上看到了我当初的影子,同时我也意识到谱方法的实际应用在国内还不普及。例如非线性光纤光学中最基本的非线性薛定谔方程(该方程也出现在非线性量子力学中)可以根据谱方法用寥寥十几行的 Matlab 代码获得高精度数值解,而我所认识的研究生还在使用既不简便也不精确的分步傅里叶法。不久之后我博士毕业,由于一心想进高校任教的我没有找到想要的教职,所以刚刚拿到博士学位后就待业了 3 个月。于是我在年近 30 岁的时候开始面对既无业、也无钱、还单身的人生悲剧,想起昔日的同窗、朋友大多已成家立业,内心的苦闷愈甚却无处排解。这时候我开始着手将已掌握的谱方法及其重要的技巧和经验总结成书,一来要让更多的人接触到这些有价值的数值方法,二来潜心写书可令我暂时忘记眼前的烦恼。之后我来到清华大学物理系做博士后研究工作,开始了一项令人振奋的研究,当然也不忘多方联系本书的出版事宜。如今我很高兴地看到本书即将出版发行,它不但是一本可以教你如何高效、便捷地解决各类微分问题的实用教程,同时也是我身处逆境不甘认命的一个见证。
本书中,常见的微分问题均可在 40 行代码内解决,其中的核心代码不到 10 行,且代码只需在默认安装的 Matlab 上即可执行,并不依赖于第三方插件。此外,Matlab 代码中采用的谱方法以及时间步进法是在计算精度、运算量、稳定性等方面颇具优势的数值计算方法,所有掌握高等数学和 Matlab 语法的读者在看完本书之后,均可以得心应手地、高效简洁地、精确地解决各类常见微分问题。本书分为上篇、中篇和下篇。上篇介绍欧拉法、龙格-库塔法、有限差分法和有限元法等基础数值知识,旨在使读者了解在谱方法之前出现的主要数值方法的基本原理,并能够与后文中的谱方法形成对比,加深理解。中篇和下篇分别介绍了不同边界条件下的谱方法,对数值方法比较了解的读者可快速浏览上篇
后直接阅读中篇和下篇。
感谢 J. Nathan Kutz 教授,他深厚的数学功底和过人的物理直觉令我受益匪浅,极大地感召我在学术的道路上一路前行。感谢我的硕导和博导宋晏蓉教授、张新平教授,这两位教授工作出众并且将学生的自身发展放在首要位置,在研究组人手不足的情况下仍然支持学生出国学习。感谢密云二中的数学老师王嘉新,我对数学的热爱都始于他生动有趣的教学以及慧眼识才的养。感谢清华大学物理系的薛平教授对我的悉心栽培和提携,他在我学术道路最艰难的起步阶段给予了无私的支持,并为本书作序。最后感谢我的家人、亲戚和朋友多年来予以我的支持和鼓励。
没有几位恩师兢兢业业的工作以及亲友们的关怀,就没有我的这本书,也没有我的今天。
张 晓
2015 年 8 月于清华园
出版说明
序
前言
提示
上篇 前置知识 1
第 1 章 初值问题和边值问题 1
1.1 初值问题 1
1.1.1 欧拉法 2
1.1.2 局部截断误差 3
1.1.3 改进的欧拉法 4
1.1.4 龙格 ? 库塔法 6
1.1.5 ode 系列函数的用法 9
1.1.6 高阶微分方程的降阶 15
1.2 边值问题 17
1.2.1 打靶法 18
1.2.2 bvp 系列函数的用法 22
第 2 章 有限差分法和有限元法 25
2.1 有限差分法 25
2.1.1 有限差分法中的数值微分 25
2.1.2 求导的矩阵形式 26
2.2 偏微分方程的差分解法 30
2.2.1 二维泊松方程 30
2.2.2 一维热传导方程 34
2.2.3 一维波动方程 37
2.3 有限元法和 Matlab 偏微分工具箱 40
2.3.1 基本操作 41
2.3.2 二维泊松方程 48
2.3.3 二维热传导方程 52
2.3.4 二维波动方程 53
2.3.5 二维特征值问题 54
中篇 周期性边界条件下的谱方法 57
第 3 章 傅里叶谱方法 57
3.1 傅里叶谱方法的原理 57
3.1.1 快速傅里叶变换 57
3.1.2 求导、积分与傅里叶谱方法 61
3.1.3 傅里叶谱方法的步骤 63
3.1.4 滤波法 66
3.2 傅里叶谱方法求解基本偏微分方程(组) 67
3.2.1 一维波动方程 67
3.2.2 二维波动方程 69
3.2.3 一维非线性薛定谔方程 71
3.3 傅里叶谱方法求解复杂偏微分方程(组) 73
3.3.1 一维 KdV 方程 73
3.3.2 二维浅水方程组 74
3.3.3 二维粘性 Burgers 方程 76
3.3.4 二维 Schnakenberg 模型 78
第 4 章 谱求导矩阵 81
4.1 谱求导矩阵的导出和应用 81
4.1.1 谱方法插值 81
4.1.2 谱求导矩阵 82
4.1.3 用谱求导矩阵求解偏微分方程的步骤 88
4.2 利用谱求导矩阵求解基本偏微分方程(组) 92
4.2.1 一维线性谐振子的定态薛定谔方程 92
4.2.2 二维线性谐振子的定态薛定谔方程 94
4.2.3 一维波动方程 96
4.2.4 二维波动方程 98
4.3 利用谱求导矩阵求解复杂偏微分方程(组) 100
4.3.1 Ginzburg-Landau 方程 100
4.3.2 耦合非线性薛定谔方程组 102
4.3.3 二维 Schnakenberg 模型 103
4.3.4 二维平流 ? 扩散方程 105
下篇 第一类、第二类和第三类边界条件下的谱方法 108
第 5 章 切比雪夫谱方法 108
5.1 切比雪夫求导矩阵的导出 108
5.1.1 吉布斯现象和龙格现象 108
5.1.2 切比雪夫求导矩阵 112
5.2 狄利克莱边界条件(第一类边界条件) 119
5.2.1 一维泊松方程 119
5.2.2 二维泊松方程 122
5.2.3 Allen-Cahn 方程 128
5.2.4 二维热传导方程 131
5.2.5 一维特征值问题 135
5.2.6 二维特征值问题 137
5.3 诺依曼边界条件(第二类边界条件) 138
5.3.1 一维泊松方程 139
5.3.2 二维泊松方程 140
5.3.3 一维热传导方程 143
5.3.4 二维波动方程 146
5.3.5 一维四阶问题 148
5.3.6 二维四阶问题 150
5.4 洛平边界条件(第三类边界条件) 152
5.4.1 一维泊松方程 152
5.4.2 二维泊松方程 154
5.4.3 一维热传导方程 156
5.4.4 二维热传导方程 158
5.5 利用切比雪夫谱方法求解复杂偏微分方程(组) 161
5.5.1 广义特征值问题 161
5.5.2 二维 Barkley 模型 162
5.5.3 二维平流 ? 扩散方程 165
附录 168
附录 A Matlab 主要符号和函数 168
A.1 运算符、操作符和常量 168
A.2 矩阵、图形窗口相关函数 170
附录 B 将计算结果制作成 gif 动画 177
参考文献 179
跋 180
送货速度也挺快的,小哥效率也高
2020-09-01 00:45:56