Dark Hypernova
Science and Fiction

Implementation of Shooting and Convergence Studies

这一节学习 Matlab 解微分方程,并且跟随 Prof 一起来用 Shooting 方法解决边值问题(boundary value problem)的例子,当然这里面包括了 time-stepping 方法。

4.1 Converting to 1st-order Problem

我们下面要解决一个具体的问题例子: \begin{eqnarray} \phi_{xx} + (n(x) - \beta )\phi &=& 0
\phi(\pm 1) &=& 0 \end{eqnarray}

为了简单我们给定一个 $n(x) =100$。

现在回想一下我们之前讨论的理论,是下面的形式: 那么我们的任务就是:把现在的问题转化成这类一阶的问题。

我们定义

然后很容易代入原来的问题中,得到

太好了,我们现在就把问题转换成一阶的问题了。也就是说,写成矢量形式: 其中,

4.2 Implementation of Boundary Conditions

上面只是方程本身的,我们还有边界条件。所以最终,我们要解决的问题就是:

为什么 $\beta < 100$ 呢?现在我们想一下 $\beta > 100 $,那么我们要解决的问题是: 这样的话,解就是

这个解是没法满足边界条件$\phi(\pm 1) = 0$ 的。因为这个解是单调的,而我们要求在 -1 和 1 处有相同的值 0。

By OctoMiao

Last updated