第十二次作业:波动

本次计算物理布置的是第六章的作业。波动方程的数值方法描写。


一,提要与公式分析

由教材中内容,数值计算公式为:

迭代主公式

公式中 Δt 为时间步长,Δx 为一维坐标上的距离步长,c 为波速。

迭代公式中:i 表示距离 的进程,表示时间 的进程。

波动方程有两个因素:随时间变化和随位置变化,若固定时间 t,则类似于拍照整个波在某一时刻的空间位形。而若固定位置 x,则描绘着该位置处波动随时间的变化图像。

因为我们要画的是在一定范围内,有限长度上的波动变化,故编程思路应该是这样的:设定一段距离 1在其上等距离取 100(或更多)个分割点 ,用前面提到的波动方程分别作用在这100 个点上,因为各个点的位置 是固定的,所以对每一个点 而言其所在位置的波动方程退化为只有一个时间变量 t ,用表征着 的进程的变量 n 逐步迭代得到一段时间内的这 100 个点的变化数据,最后用这些数据即可画出整个弦在一段时间内的波动面貌。

还有一个问题就是弦上初始波形的选择,选为 [1, 3, 5, 6, 7, 7, 6, 5, 3, 1] 的形式。

观察迭代方程形式,可知在迭代前要给出初始时刻全部点的状态值,且在初始时刻之前弦上任意一点都为 0 值。


二,编程结果与分析

设置初始时刻弦上各点的状态,我假设这根本来处于静止稳定的弦,在时刻 0(初始时刻)受到一个扰动,使得在此时刻弦正中心出现了一个波包(其存在的宽度为一正弦波的 1/4 波长)。

一个单位长度的弦上,初始时刻的状态假设为(画图表示):

由此设定初始数列,且设置波包长度为 1/10 弦长,的值暂时设定为 1若运行结果不十分理想,则修改 r

编程运行得初始时刻波形图:

后续时刻,



三,总结

由数值波动方程画图展示了波的前行变化

你可能感兴趣的:(第十二次作业:波动)