本书以MATLAB为编程工具,通过简单的操作实例循序渐进地讲解数值算法的基础知识;选取大学物理的典型例题,来进行物理建模、数值算法设计、编程、物理结果的可视化与分析等综合训练。书中数值计算方法主要包括误差分析、数值微分与积分、非线性方程(组)的解法、实验数据的曲线拟合、常微分方程的解法等;物理案例包括双缝干涉、牛顿环、水波干涉、一维势阱运动的半经典量子化、带电圆环的电势分布、半导体热敏电阻温度曲线的拟合、带电粒子在磁场中的运动、受空气阻尼的抛体运动、行星绕太阳的运动、空间电荷的静电势分布、弦振动问题和一维薛定谔方程的定态解等。书中所有的数值方法都给出了MATLAB程序,有大量翔实的应用实例可供参考,有相当数量的习题可供练习。本书的特色是尽量绕开对复杂数值算法的讲解,并尽量避免涉及复杂的物理理论,以便达到让初学者快速入门的目的。
样章试读
目录
- 目录
前言
第1章 绪论 1
1.1 计算物理学的起源与发展 1
1.2 计算机编程语言和软件 3
第2章 MATLAB编程基础 6
2.1 MATLAB的操作界面 6
2.1.1 操作界面介绍 6
2.1.2 编辑器窗口和数学运算 7
2.1.3 数据存储与显示 10
2.2 数据格式与算符 11
2.2.1 向量 11
2.2.2 矩阵 12
2.2.3 其他数据格式 17
2.3 编程 19
2.3.1 编辑程序 19
2.3.2 关系及逻辑运算 20
2.3.3 流程控制 23
2.3.4 函数文件 26
2.3.5 数据输入与输出 28
2.3.6 程序调试 29
第3章 计算结果的误差和可视化 32
3.1 误差 32
3.1.1 误差来源 32
3.1.2 误差的基本定义 33
3.2 误差危害的防止措施 35
3.3 计算结果的可视化 38
3.3.1 作图功能概述 38
3.3.2 二维曲线作图指令 39
3.3.3 图形标识和坐标轴控制 45
3.3.4 基本的三维图 48
3.3.5 图像显示 56
第4章 数值微分与数值积分 63
4.1 数值微分 63
4.1.1 差商型数值微分 63
4.1.2 MATLAB数值微分指令 64
4.2 数值积分 70
4.2.1 数值积分概述 70
4.2.2 牛顿-科茨数值积分方法 71
4.2.3 复化积分方法 72
4.2.4 MATLAB数值积分指令 74
4.3 一维量子势阱中的能级 79
4.3.1 一维量子抛物势运动的半经典量子化 79
4.3.2 一维无限深方势阱运动的半经典量子化 83
4.4 带电圆环的空间电势分布 85
第5章 方程(组)的数值求解与曲线拟合 88
5.1 线性方程组的数值解法 88
5.2 单变量非线性方程的数值解法 90
5.2.1 对分法 91
5.2.2 弦割法 94
5.2.3 求解非线性方程的MATLAB指令 95
5.3 非线性方程组的数值解法 98
5.4 求解函数极小值 100
5.5 曲线拟合 102
5.5.1 曲线拟合的最小二乘法 103
5.5.2 多项式曲线拟合 103
5.5.3 非线性曲线拟合 104
5.5.4 MATLAB曲线拟合指令 105
5.6 半导体热敏电阻温度曲线的拟合 112
第6章 解常微分方程 115
6.1 微分方程的有关概念 115
6.2 龙格-库塔法 116
6.2.1 龙格-库塔法基本思想 116
6.2.2 二阶龙格-库塔法 120
6.2.3 三阶与四阶龙格-库塔法 121
6.3 常微分方程组的初值问题 126
6.4 用MATLAB指令解常微分方程 131
6.5 行星绕太阳的运动 138
6.5.1 直角坐标系 138
6.5.2 极坐标系 143
6.6 边值问题和打靶法 146
6.7 本征值方程 150
参考文献 156