@zy-0815
2017-01-05T13:38:14.000000Z
字数 2512
阅读 4525
计算物理
之前的各项工作中,我们所研究的重点都是有确定性的系统(deterministic),而在第七章中,我们将考虑一种随机性占据主导的系统,我们称之为随机系统。
本次期末论文将进一步探究随机系统的种种特性。
我们研究具有确定性的系统时,常通过数学工具,结合物理公式,来进行研究,例如牛顿运动定律及有边界条件的微分方程,而此类方程解是确定的。在此类系统中,我们给定初始值,则该系统之后的运动情况都将确定。
但实际情况中,我们还常常接触到另一种运动形式,即随机运动
例如我们常见的骰子,
理论上而言,每面朝上的概率都是相等的,即,因此我们每次掷骰子时,都无法预测哪一面朝上。
另一个典型的例子就是布朗运动。布朗运动在物理学史上的重要意义不必赘述,它充分展示了水分子的运动是无序的,从而对统计物理尤其是涨落理论的发展起到推动作用
对于此类系统,尽管他们仍然遵循各种力学规律,如布朗运动中分子间的碰撞,但是想要和之前的系统一样精确计算已经不太可能,因为会带来庞大的计算量。为此我们将尝试用概率论来描述该系统,我们将采用较大的样本数量,和较长的运行时间,从而使结果更加趋于真实
1.1 一维状态
这里我们假设一个微观粒子,它在下一时刻向左或向右运动的概率相等,若我们统计他走过的位移,得到的便是以为随机行走的模型
我们的程序将产生一个0到1之间的随机数组,如过大于0.5则向左走,反之向右
程序代码如下随机行走-1D
这里我们可以尝试改变两个方向的概率,如向左走的概率为0.25,向右走的概率为0.75,情况会大不相同,结果如下
这时我们考虑另一种随机行走模式,及每两步之间的差值在-1到1之间,我们称此模型为随机步长
程序代码如下随机步长
1.2 二维状态
对于二维的随机行走,我们可以采用创建两个数组构成二维数组来表示,代码如下:二维
1000步
100000步
可见二维的情况有点类似布朗运动的程序模拟
1.3 三维状态
更进一步的,我们可以研究三维情况下的随机行走模型,代码如下:三维
100步
1000步
10000步
我们也可以观察此时的 与 的关系
不难看出,在各个方向行走概率相同的时候,两者是呈线性相关的
1.4 延伸
在一维状态下,若我们同时释放多个粒子,并且记录各个粒子和中心点的位移,我们又会有新的发现。这一过程我们借助热力学与统计力学中的Java程序进行描绘。结果如下:
我们发现,从某种意义上讲,这个结果更近似与高斯分布,这或许暗示我们其中有某些更深层次的数学关系,我们将在下一部分做进一步探讨
对于一个三维模型而言,下一秒移动的方向有六种可能性,则在第n秒时,到达固定点(i,j,k)的概率为
因此
由此,我们得到:
进一步的:
2.1 一般情况
在某种意义上,随机行走可以等同于扩散,其实在热力学与统计力学课上,我们便通过一Java程序,了解了此过程。
在这里,我们将试图用Python,来重现这一过程
我们的代码如下:扩散
程序运行结果如下:
我们发现,其分布近似可写作一高斯分布函数:
由热统的知识可知,熵的定义为
正如我们上一部分开头利用Java所展示的扩散过程,我们接下来将对这一类型的扩散进行讨论。这里我们取咖啡中奶油的扩散为研究模型,研究系统熵的变化情况
Java程序模拟:
熵的变化:
由此可见,整个过程的熵是增加的,而这也反映了时间的方向。且随着时间增大,熵的值的增长速度降低,最终它会收敛到一个定值。