本书以计算软件MATLAB为编程语言,通过实例讲解了计算物理基础知识,如数据拟合、数值微积分、解常微分方程与偏微分方程、蒙特卡洛方法等。
自从□004年教育部物理学与天文学教学指导委员会建议开设本科生必修基础课“计算物理基础”以来,我们积极地响应并付诸实践。此前,我们已经为研究生开设了计算物理课,并有一些本科生旁听该门课程。在此基础上,通过检索国外大学相同课程的教学内容与教材,参照教学指导委员会提出的《计算物理基础课程教学规范》,经过数年教学与教改的实践,编写了这本教材。期间我们还出版了《理论力学计算机模拟》和《数学物理方程的MATLAB解法与可视化》两本书,我们的教改成果曾获□005年□□□教学成果二等奖等多种奖项,“计算物理基础”也被评为国家精品课。这几本书记录了我们的教改实践,是师生互教互学,能者为师,共同提高的见证。北京师范大学物理系历届听过此课的学生们为建设这门课程作出了创造性的贡献。唐朝大文学家韩愈在《师说》中说过,“弟子不必不如师,师不必贤于弟子。闻道有先后,术业有专攻,如是而已”。我们对此深有体会。
计算物理借助于计算机来做计算与研究。它涉及建立模型,选择计算方法,用语言编程以及结果分析。这个系统过程缺一不可,只有掌握了这四个方面的技能。才能独立地完成任务。过去这些训练分散在不同的课程中,不利于学生掌握使用这种方法。所以StevenE.Konnin说:“进行计算的本领很难通过标准的大学生物理系课程安排来培养,因为它需要三方面训练(物理学,数值分析和计算机程序设计)的综合,很少有物理系学生毕业时知道如何进行计算;那些具有这种知识的学生通常是在独立工作的过程中,比如通过学习一项研究课题或者一篇毕业论文,而学到一些有限的技巧。”①我们赞同这种看法,在编写本书时特别注意这几种技能的综合训练。
本教材定位于普及计算物理基础知识,内容包括数据处理(拟合,插值,快速傅里叶变换等),数值微积分,解线性与非线性方程,解常微分方程与偏微分方程,蒙特卡洛方法等,都是□基本的计算技巧。此外还增加了物理研究中很有用的可视化技巧,如矢量场的可视化,动画技巧和图形界面的设计等。众所周知,计算已经与理论、实验并列为物理研究的主要手段。正如不学微积分是无法学习物理一样,在今天如果不会用计算机做计算也很难真正学好物理。更何况通过学习计算物理,还能学到与其他课程不同的分析方法与研究方法。所以,教学指导委员会才会把计算物理课列为本科生必修课。
第一章 MATLAB简介
§1.1 MATLAB的操作界面
§1.1.1 操作界面介绍
§1.1.1 指令窗中的功能
§1.1.3 数据存储与显示
§1.1 数据格式与算符
§1.1.1 向量的输入
§1.1.1 矩阵
§1.1.3 列阵
§1.1.4 数据网格
§1.1.5 基元列阵
§1.1.6 结构数组
§1.1.7 字符和文本
§1.3 编程
§1.3.1 编辑程序
§1.3.1 调试程序
§1.3.3 设置搜索路径
§1.3.4 两类序文件
§1.3.5 流程控制
§1.3.6 数据输入与输出
§1.4 作图
§1.4.1 作图功能概述
§1.4.1 二维曲线作图指令
§1.4.3 复数作图
§1.4.4 基本的三维图
§1.4.5 四维数据的表现——切片函数slice
§1.4.6 复变函数图形
§1.4.7 动画
§1.5 画物理场的专用指令
§1.5.1 等值线表现二维标量场
§1.5.1 等值面表现三维标量场
§1.5.3 用箭头、流线表现二维矢量场
§1.5.4 用箭头、流线、锥体、流管、流带表现三维矢量场
§1.6 图形窗口的编辑功能
§1.7 制作图形用户界面(GUI)
§1.8 浮点运算与数值计算的误差
§1.9 物理应用:Logistic模型的周期分岔与混沌现象
§1.10 练1<1r>
第二章 迭代一分形图形
§1.1 迭代与分形
§1.1.1 分形树
§1.1.1 Sierpinski_角形
§1.1.3 科赫雪花曲线
§1.1.4 L系统
§1.1 复变函数迭代
§1.1.1 Julia集
§1.1.1 Mandelbrot集
§1.3 分形与分形维
§1.4 练1<1r>
第三章 数值微分与数值积分
§3.1 数值微分与数值积分
§3.1.1 数值微分的算法
§3.1.1 数值积分的算法
§3.1 MATLAB指令
§3.1.1 差分运算(difr)
§3.1.1 梯度计算(gradient)
§3.1.3 离散拉普拉斯算符(del1)
§3.1.4 梯形积分(trapz)
§3.1.5 累计梯形积分(cumtrapz)
§3.1.6 函数积分(quad,quadl)
§3.1.7 函数的二重积分(dblquad)
§3.1.8 函数的三重积分(triplequad)
§3.3 用符号工具箱计算微积分
§3.4 环形电流的磁场——物理场的可视化
§3.5 分子振动的半经典量子化
§3.6 练1<1r>……
第四章 数据处理
第五章 解常微分方程
第六章 混沌
第七章 解偏微分方程
第八章 蒙特卡罗方法
参考文献