0

This question has already confused me several days. While I referred to senior students, they also cannot give a reply.

We have ten ODEs, into which each a noise term should be added. The noise is defined as follows. since I always find that I cannot upload a picture, the formula below maybe not very clear. In order to understand, you can either read my explanation or go the this address: Plos one. You could find the description of the equations directly above the Support Information in this address

  1. The white noise term epislon_i(t) is assumed with Gaussian distribution. epislon_i(t) means that for equation i, and at t timepoint, the value of the noise.
  2. the auto-correlation of noise are given:

(EQ.1) eq1

where delta(t) is the Dirac delta function and the diffusion matrix D is defined by

(EQ.2) eq2

Our problem focuses on how to explain the Dirac delta function in the diffusion matrix. Since the property of Dirac delta function is delta(0) = Inf and delta(t) = 0 if t neq 0, we don't know how to calculate the epislonif we try to sqrt of 2D(x, t)delta(t-t'). So we simply assume that delta(0) = 1 and delta(t) = 0 if t neq 0; But we don't know whether or not this is right. Could you please tell me how to use Delta function of diffusion equation in MATLAB?

This question associates with the stochastic process in MATLAB. So we review different stochastic process to inspire our ideas. In MATLAB, the Wienner process is often defined as a = sqrt(dt) * rand(1, N). N is the number of steps, dt is the length of the steps. Correspondingly, the Brownian motion can be defined as: b = cumsum(a); All of these associate with stochastic process. However, they doesn't related to the white noise process which has a constraints on the matrix of auto-correlation, noted by D.

Then we consider that, we may simply use randn(1, 10) to generate a vector representing the noise. However, since the definition of the noise must satisfy the equation (2), this cannot enable noise term in different equation have the predefined partial correlation (D_ij). Then we try to use mvnrnd to generate a multiple variable normal distribution at each time step. Unfortunately, the function mvnrnd in MATLAB return a matrix. But we need to return a vector of length 10.

We are rather confused, so could you please give me just a light? Thanks so much!

4

1 に答える 1

1

: ここには 2 つのあいまいな質問があります。1) DE で確率項を処理する方法と 2) DE でデルタ関数を処理する方法です。これらは両方とも数学関連の質問であり、http://www.math.stackexchange.comがこれに適した場所になります。MATLAB に関する質問がある場合、私はそれを突き止めることができませんでした。コード例を追加して、要点をよりよく説明する必要があります。そうは言っても、あなたを正しい方向に導くために、2 つの質問に簡単に答えます。


ここにあるのは ODE ではなく、確率微分方程式 (SDE) です。これを扱うために MATLAB をどのように使用しているかはわかりませんが、ode45orのようなルーチンode23は役に立ちません。SDE の場合、変数の分離/特性の方法などの通常の数学的ツールは機能せず、それらを操作するには伊藤計算法と伊藤積分を使用する必要があります。ご想像のとおり、解は確率論的です。SDE とその操作について詳しく学ぶには、Bernt Øksendal によるStochastic Differential Equations: An Introduction with Applicationsを、数値解についてはPeter E. Kloeden と Eckhard Platen によるNumerical Solution of Stochastic Differential Equationsを検討してください。

デルタ関数の部分に来ると、ODE のフーリエ変換を取ることで簡単に扱うことができます。デルタ関数のフーリエ変換は であることを思い出してください1。これにより DE が大幅に簡素化され、最後に逆変換を行って元のドメインに戻ることができます。

于 2011-07-16T21:14:44.860 に答える