這個問題已經讓我困惑了好幾天。當我提到高年級學生時,他們也不能回答。如何爲幾個常微分方程添加白噪聲處理項,假設高斯分佈?
我們有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
的向量。
我們相當困惑,所以請你給我一個燈光?非常感謝!