我有这种看起来像GBM的非线性过程,但不是因为平方根噪声。 Mu都是常数,而l(在一个Mu和sigma之前)是一个参数。西格玛也是一个常数。 N是一个增加的人口。
这不容易通过分析解决。
最终,我有兴趣在Matlab中用#34;连续"开始这些人。时间步长,改变每个过程的参数l,看看它是什么样的。
由于我在Matlab中从未对SDE做过任何事情,我有点迷失。我已经看过不同的SDE解算器,但我似乎无法让它们工作。如上所述,我不希望解决任何问题,只是操纵不同的人口规模,时间和这个参数l。
任何可以指引我朝正确方向前进的人?
答案 0 :(得分:0)
基于Desmond J. Higham,我最终得到了这种看起来丑陋的方法。它很慢。如果有人对如何进行矢量化或包含SDE求解器有任何建议,比如SDETools可以更快地模拟它,我将非常感激。
clear;
clc;
clf
T = 35;
N = 2^12;
Delta = T/N;
lambda = 0.1;
sigma = 4;
Xzero = 1;
P = 500;
Xem = zeros(1,N+1);
Xem(1) = Xzero;
for i = 1:P
for j = 1:N
if log(Xem(j)) < 0
Xem(j) = nan;
end
Winc = sqrt(Delta)*randn;
Xem(j+1) = Xem(j) + lambda*Delta*Xem(j) + sigma*sqrt(Xem(j))*Winc;
end
plot(0:Delta:T,log(Xem))
xlabel('t','FontSize',16), ylabel('X','FontSize',16)
hold on;
end