用MATLAB求解随机微分方程

用MATLAB求解随机微分方程,matlab,differential-equations,stochastic,Matlab,Differential Equations,Stochastic,我需要一些帮助来生成一个MATLAB程序,以便回答以下问题。有人能在这方面帮助我吗?任何可能有帮助的暗示都将被感激 Q:模拟N=10个baches,M=100个Ito过程X的轨迹,满足以下SDE: dXt = μ·X_t·dt + σ·X_t·dB_t. 与X₀ = 1,μ=1.5,σ=1.0及其等距离时间步长Δ=2的Euler近似⁴ 对应于T=1的时间间隔[0,T]上维纳过程的相同采样路径。评估绝对误差的90%置信区间 我已经为上述问题在MATLAB上创建了以下代码。如果我在什么地方错了,有

我需要一些帮助来生成一个MATLAB程序,以便回答以下问题。有人能在这方面帮助我吗?任何可能有帮助的暗示都将被感激

Q:模拟N=10个baches,M=100个Ito过程X的轨迹,满足以下SDE:

dXt = μ·X_t·dt + σ·X_t·dB_t.
与X₀ = 1,μ=1.5,σ=1.0及其等距离时间步长Δ=2的Euler近似⁴ 对应于T=1的时间间隔[0,T]上维纳过程的相同采样路径。评估绝对误差的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

我在这里没有看到编程问题。你能说出你试图修复的实现中有什么问题吗?我只需要知道我们如何模拟批处理。如何保持多次运行的数据?换行为j=1:1000,更改为Xerr=zerosM,1000,Xerrs,j=。。。如果更多的话,请你仔细回答这个问题。如果是这样的话,模型的细节似乎并不相关。@Josha Goldberg如果我把你的建议付诸实施,我会得到我需要的。我想你可以从这个页面上得到一些想法:。