2011-07-16 197 views
0

這個問題已經讓我困惑了好幾天。當我提到高年級學生時,他們也不能回答。如何爲幾個常微分方程添加白噪聲處理項,假設高斯分佈?

我們有10個ODE,每個噪聲項都應該添加到其中。噪音定義如下。因爲我總是發現我無法上傳圖片,下面的公式可能不是很清楚。爲了理解,你可以閱讀我的解釋或去這個地址:Plos one。你可以在這個地址

  1. 白噪聲項被假定爲高斯分佈epislon_i(t)找到方程正上方支持信息的描述。 epislon_i(t)意味着對於等式it時間點,噪聲的值。
  2. 噪聲的自相關給出:

(等式1)eq1

其中delta(t)是狄拉克δ函數與擴散矩陣D

定義(EQ.2)eq2

我們的問題m側重於如何解釋擴散矩陣中的狄拉克三角函數。由於狄拉克三角函數的性質是delta(0) = Infdelta(t) = 0 if t neq 0,我們不知道如何計算epislon如果我們嘗試sqrt of 2D(x, t)delta(t-t')。所以我們簡單地假設:delta(0) = 1delta(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的向量。

我們相當困惑,所以請你給我一個燈光?非常感謝!

回答

1

注意:我看到這裏有兩個模糊的問題:1)如何處理在DE隨機項和2)如何處理在DE增量功能。這兩個都是數學相關的問題,http://www.math.stackexchange.com將是一個更好的地方。如果您有關於MATLAB的問題,我一直無法把它放下來,您應該添加代碼示例以更好地說明您的觀點。也就是說,我會簡單回答這兩個問題,只是爲了讓你走上正軌。


你這裏不是常微分方程,但隨機微分方程(SDE)什麼。我不確定你如何使用MATLAB來處理這個問題,但是像ode45ode23這樣的例程不會有任何幫助。對於SDE,通常用於分離變量/特徵方法的數學工具不起作用,您需要使用Itô calculus和Itô積分來處理它們。正如你可能猜到的那樣,解決方案將是隨機的。要了解更多關於SDE並與他們合作,您可以考慮BerntØksendal的Stochastic Differential Equations: An Introduction with Applications以及Peter E. Kloeden和Eckhard Platen的數值解決方案Numerical Solution of Stochastic Differential Equations

來到delta函數部分,您可以通過對ODE進行傅立葉變換來輕鬆處理它。回想一下delta函數的傅立葉變換是1。這極大地簡化了DE,並且您可以在最後進行逆向變換以返回到原始域。