【问题标题】:Stochastic Differential Equations (SDE) in 2 dimensions二维随机微分方程 (SDE)
【发布时间】:2016-05-18 00:34:47
【问题描述】:

我是第一次研究随机微分方程。我正在寻找模拟和求解二维随机微分方程。

型号如下:

dp=F(t,p)dt+G(t,p)dW(t)

地点:

  • p 是一个 2×1 向量:p=(theta(t); phi(t))
  • F 是一个列向量:F=(sin(theta)+Psi* cos(phi); Psi* cot(theta)*sin(phi))
  • G 是一个 2×2 矩阵:G=(D 0;0 D/sin(theta))
  • Psi 是参数,D 是扩散常数

我写的代码如下:

function MDL=gyro_2dim(Psi,D)
% want to solve for 2-by-1 vector:
%p=[theta;phi];
%drift function
F=@(t,theta,phi)  [sinth(theta)+Psi.*cos(phi)-D.*cot(theta);Psi.*cot(theta).*sin(phi)];
%diffusion function
G=@(t,theta,phi) [D 0;0 D./sin(theta)];
MDL=sde(F,G)
end

然后我使用以下脚本调用该函数:

params.t0   = 0;               % start time of simulation
params.tend = 20;              % end time
params.dt =0.1;                % time increment
D=0.1;
nPeriods=10; % # of simulated observations
Psi=1;
MDL=gyro_2dim(Psi,D);
[S,T,Z]=simulate(MDL, nPeriods,'DeltaTime',params.dt);
plot(T,S)

当我运行代码时,我收到以下错误消息:

初始条件下漂移率无效或模型不一致 尺寸。

知道如何解决这个错误吗?

【问题讨论】:

    标签: matlab math stochastic


    【解决方案1】:

    来自sde 的文档:

    用户定义的漂移率函数,用F表示。 DriftRate 是一个在使用两个输入调用时返回 NVARS-by-1 漂移率向量的函数:
    - 实值标量观测时间t.
    - 一个NVARS-by-1 状态向量Xt

    Diffusion 函数提供了类似的规范。但是,您将状态向量的元素作为标量传递,因此具有三个而不是两个输入。您可以尝试将模型创建功能更改为:

    function MDL=gyro_2dim(Psi,D)
    % State vector: p = [theta;phi];
    F = @(t,p)[sin(p(1))+Psi.*cos(p(2))-D.*cot(p(1));
               Psi.*cot(p(1)).*sin(p(2))];            % Drift
    G = @(t,p)[D 0;
               0 D./sin(p(1))];                       % Diffusion
    MDL = sde(F,G);
    MDL.StartTime = 0;   % Set initial time
    MDL.StartState = ... % Set initial conditions
    

    我还将sinth(theta) 更改为sin(p(1)),因为没有sinth 功能。我无法对此进行测试,因为我没有财务工具箱(很少有)。

    【讨论】:

    • 感谢您的评论。我确实按照你说的修改了函数,但我仍然有同样的错误信息:漂移率在初始条件下无效或模型尺寸不一致。
    • @Mari:你是如何设置你的初始条件和初始时间的?您需要设置MDL 对象的StartStateStartTime 属性。我不知道如果你不设置这些会发生什么,但你的漂移函数将返回[-Inf;NaN],如果你的初始条件默认为[0;0],这会很糟糕。
    猜你喜欢
    • 2021-09-26
    • 1970-01-01
    • 2016-04-09
    • 1970-01-01
    • 1970-01-01
    • 2019-04-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多