MATLAB中求解随机微分方程

时间:2014-07-01 20:01:44

标签: matlab differential-equations stochastic

为了回答以下问题,我需要一些帮助来生成MATLAB程序。有人可以在这方面帮助我吗?任何可能有用的提示肯定会受到赞赏......

问:"使用满足以下SDE的Ito Process X的N = 10轨迹模拟M = 100个baches:

dXt = μ·X_t·dt + σ·X_t·dB_t.

使用X₀ = 1μ = 1.5σ = 1.0及其欧拉近似值,其等距时间步长为Δ = 2⁴,对应于时间间隔内维纳过程的相同样本路径[0,T] T = 1。评估绝对误差的90%置信区间。"

我已经在MATLAB上为上述问题创建了以下代码。如果我在某处错了,有人可以纠正我。同时帮助我如何模拟批次以及90%的置信区间。

randn('state',100)
a=1.5; b=1; Xzero=1;
T=1; n=2^8; dt=T/n;
M = 100;

Xerr = zeros(M,1);
for s = 1:M

    dW = sqrt(dt)*randn(1,n);
    W = cumsum(dW);
    Xtrue = Xzero*exp((a-0.5*b^2)+b*W(end));
    R  = 2^5;
    Dt = R*dt; L=n/R;

    Xtemp = Xzero;
    for j=1:L
        Winc=sum(dW(R*(j-1)+1:R*j));
        Xtemp=Xtemp+Dt*a*Xtemp+b*Xtemp*Winc;
    end

    Xerr(s,1) = abs(Xtemp-Xtrue);

end

0 个答案:

没有答案
相关问题