漫步微积分二十二——微分方程和分离变量法

我们已经明白等式

f(x)dx=F(x)(1)

等价于
ddxF(x)=f(x)(2)

这个命题可以从两个角度解释。

(a) 按照上篇文章的解释,我们可以将符号

dx
看做对函数 f(x) 的一种运算,该运算得到函数的积分或者反导 F(x) 。从这个角度来看积分符号和 dx 一起构成符号的一部分;积分符号表明是积分运算,而 dx 告诉我们 x 是积分变量。

(b)第二种解释来自于上篇文章中的例4和例5。 (2) 可以写成下面的形式

dF(x)=f(x)dx
这样的话 f(x)dx 很明显就是 F(x) 的微分。如果我们将 (1) 中的 dx 看做 x 的微分,那么(1)中的积分作用在 F(x) 的微分上即 f(x)dx ,从而得到函数本身。因此,积分符号 表示的运算是符号 d 表示的运算的逆过程。

这两种解释我们都会用到。但是,第二种特别方便,不仅限于计算过程,对于某些简单的微分方程同样如此。

微分方程涉及到一个未知函数和一个或多个导数。这种等式的阶数为最高阶导数的阶数。

在积分过程中,我们已经解决过形如下面的一阶微分方程

dydx=f(x)
其中 f(x) 是给定的函数。因此,等式
dydx=3x2is equivalent tody=3x2dx(3)
对其积分得到解
dy=3x2dxory=x3+c(4)
注意积分中的常数在两边都会出现
y+c1=x3+c2
但是它可以写作 y=x3+(c2c1) ,不失一般性,用 c2c1 代替 c 。因此,只在一边添加常数就够了,正如(4)那样。

我们也能处理更复杂的微分方程。例如

dydx=2xy2(5)
如果我们暂时不考虑平凡解 y=0 ,它可以写成
dyy2=2xdx
对它积分得到
1y=x2+c
或者
y=1x2+c(6)
这叫做 (5) 的通解,选择不同的 c 将得到不同的特解。

我们可以用分离变量法来解决等式(5),也就是说,从 x 中分理处y然后积分。一般来说,如果一阶微分方程可以写成如下形式

g(y)dy=f(x)dx
变量分离到两侧,如果可以计算出积分,那么我们得到解
g(y)dy=f(x)dx+c(7)
应该指出,只有非常特殊的例子能够用这种方式非礼变量。例如,微分方程
dydx=x+yxy(8)
就不能用这种方法求解。

方程 (3),(5) 的解 (4),(6) 组成了一簇曲线,他们对应于不同的常数值 c 。这些如图1和2。出现在一阶方程通解中的任意常数给出一个特定数值解,如初始条件,位置函数y=f(x) 在点 x 处的值,我们说当x=x0 y=y0 。用几何语言表述就是,初始条件意味着曲线需要通过平面上的一个特定点。如图2,上方和下面的实线对应的初始条件为

y=1 when x=0andy=1 when x=0


这里写图片描述
图1

在下一篇文章中我们会看到这些术语非常适合力学问题,其中时间表示自变量,指定出移动物体的初始位置或初始速度。


这里写图片描述
图2

在刚刚讨论的问题中,方程 (7) 很容易求解出 y 从而得到给定微分方程的解。在没有明确要求写出函数的情况下,将方程族作为通解是比较方便的。

下面我们说明如何找到曲线,它各点的法向量通过原点,并且还过点(2.3)。法向量 OP 斜率为 y/x (图3),切线的斜率是它倒数的负值,所以我们的微分方程为

dydx=xy(9)
分离变量的 ydy=xdx ,积分的
12y2=12x2+c
如果令 r2=2c ,(9)的通解取更整齐的形式为
x2+y2=r2
这是圆心在原点的所有圆。令 x=2,y=3 r2=13 ,所以
x2+y2=13
是(9)通过点(2,3)的一个特解。很明显留下这个解比坚持要解出 y <script type="math/tex" id="MathJax-Element-4686">y</script>更加合理。


这里写图片描述
图3

注解1:按理说,微分方程也许该被叫做求导方程。然而在微积分早期,微分是基本概念,导数是次要的,所以自然而言就这么叫了。对任何情况,几百年来一直用这种标准的用法,现在也没有人打算改变它的叫法。

注解2:物理或生物或化学过程的数学描述通常用函数的形式给出,它说明了随着时间的推移涉及到的量是如何变化的。当我们知道某个函数,我们通过计算导数就知道它的变化率。然而,我们经常遇到的问题是相反的,知道变化率的信息,想要找出未知的函数。这些信息通常用未知函数导数方程的形式给出。这些微分方程在科学中非常常见所以他们的研究构成了数学的一个主要分支。下篇文章我们继续讨论本文主题的一些重要应用。

### 回答1: 蒙特卡洛模拟是一种基于随机抽样的方,常用于解决数值问题。而常微分方程是描述物理过程或数学模型的重要工具,可以用于描述变化的现象。 在MATLAB中,可以使用蒙特卡洛模拟来求解常微分方程。首先需要定义微分方程的初始条件边界条件。然后,通过随机生成一组满足初值条件的初始解,并在给定的时间间隔内进行随机演化。每一步演化中,根据微分方程的形式,利用数值积分进行数值近似。通过大量的随机抽样多次的演化,可以获得微分方程的近似解。 具体步骤如下: 1. 定义微分方程初始条件。 2. 设定时间步长模拟次数。 3. 随机生成一组满足初始条件的初始解。 4. 循环进行以下步骤,直到达到设定的模拟次数: a. 根据微分方程当前解求解下一时刻的解。 b. 更新当前解为下一时刻的解。 5. 将得到的解进行分析可视化。 需要注意的是,蒙特卡洛模拟的结果是基于随机抽样的统计结果,并不是精确的解。因此,在使用蒙特卡洛模拟求解常微分方程时,需要进行多次的模拟并对结果进行统计分析,以获得更准确的近似解。 总之,在MATLAB中使用蒙特卡洛模拟求解常微分方程,可以通过随机抽样数值积分获得微分方程的近似解,并进行分析可视化。 ### 回答2: 蒙特卡洛模拟是一种基于随机漫步的数值模拟方,常微分方程则是描述自然工程现象中连续动态变化的重要数学工具。在MATLAB中,我们可以使用蒙特卡洛模拟来求解常微分方程的数值解。 首先,我们需要将常微分方程转化为一个随机过程。我们可以引入一个随机扰动项来模拟微分方程中存在的不确定性。例如,对于一阶常微分方程 dy/dt = f(t,y),我们可以将其转化为一个随机过程 dy = f(t,y)dt + sigma*dW,其中dW是一个标准布朗运动(随机游走)。 接下来,我们可以使用MATLAB中的随机数生成器来模拟这个随机过程。我们需要选择一个适当的步长仿真时间,然后使用欧拉方或其他数值方来进行演化。在每个时间步长上,我们通过计微分方程的右手边来更新变量y,并加上一个随机扰动项sigma*dW。 重复这个过程直到达到仿真时间的终点。最后,我们可以得到一个蒙特卡洛样本的集合,代表了随机过程的多个路径。通过对这些样本路径进行统计分析,我们可以得到常微分方程的数值解的特性,比如期望值、方差等。 需要注意的是,蒙特卡洛模拟的结果可能会受到随机数生成器的质量步长选择的影响。为了得到可靠的结果,我们通常需要进行多次独立的模拟,并对结果进行平均。 总之,蒙特卡洛模拟可以在MATLAB中用于求解常微分方程的数值解。通过引入随机扰动项并模拟多个路径,我们可以得到常微分方程的统计特性,并用于研究预测物理、生物、经济等领域的现象。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值