这个问题已经让我困惑了好几天。当我提到高年级学生时,他们也不能回答。如何为几个常微分方程添加白噪声处理项,假设高斯分布?
我们有10个ODE,每个噪声项都应该添加到其中。噪音定义如下。因为我总是发现我无法上传图片,下面的公式可能不是很清楚。为了理解,你可以阅读我的解释或去这个地址:Plos one。你可以在这个地址
- 白噪声项被假定为高斯分布
epislon_i(t)
找到方程正上方支持信息的描述。epislon_i(t)
意味着对于等式i
和t
时间点,噪声的值。 - 噪声的自相关给出:
(等式1)
其中delta(t)
是狄拉克δ函数与扩散矩阵D
由
定义(EQ.2)
我们的问题m侧重于如何解释扩散矩阵中的狄拉克三角函数。由于狄拉克三角函数的性质是delta(0) = Inf
和delta(t) = 0 if t neq 0
,我们不知道如何计算epislon
如果我们尝试sqrt of 2D(x, t)delta(t-t')
。所以我们简单地假设:delta(0) = 1
和delta(t) = 0 if t neq 0
; 但我们不知道这是否正确。请问如何在MATLAB中使用扩散方程的Delta函数?
这个问题与MATLAB中的随机过程有关。所以我们回顾不同的随机过程来激发我们的想法。在MATLAB中,Wienner过程通常定义为a = sqrt(dt) * rand(1, N)
。 N
是步数,dt
是步长的长度。相应地,布朗运动可以定义为:所有这些与随机过程相关联。然而,它们并不涉及对自相关矩阵有约束的白噪声处理,由D
指出。
然后我们认为,我们可以简单地使用randn(1, 10)
来生成一个代表噪声的向量。但是,由于噪声的定义必须满足方程(2),因此不能使具有预定义的部分相关性的不同方程中的噪声项(D_ij
)。然后我们尝试使用mvnrnd
在每个时间步骤生成一个多变量正态分布。不幸的是,MATLAB中的函数mvnrnd
返回一个矩阵。但是我们需要返回一个长度为10
的向量。
我们相当困惑,所以请你给我一个灯光?非常感谢!