向量化 for 循环操作
Vectorizing a for-loop operation
我有一个 SDE,我正在使用以下代码通过数值方案进行近似:
mu = 1.5;
Sigma = 0.5;
TimeStep = 0.001;
Time = 0:TimeStep:5;
random1 = normrnd(2,0.05,[1,500]);
random2 = randn(1,length(Time));
X = zeros(500, length(Time));
for j = 1:500
X(j,1)= random1(j);
for i = 1:length(Time)
X(j,i+1) = X(j,i) - mu*X(j,i)*TimeStep + Sigma*sqrt(2*mu)*sqrt(TimeStep)*random2(i);
end
end
如何才能删除外部 for 循环并进行矢量化,以便在每个时间步为所有 500 个绘图计算第一个值?
我有一个 SDE,我正在使用以下代码通过数值方案进行近似:
mu = 1.5;
Sigma = 0.5;
TimeStep = 0.001;
Time = 0:TimeStep:5;
random1 = normrnd(2,0.05,[1,500]);
random2 = randn(1,length(Time));
X = zeros(500, length(Time));
for j = 1:500
X(j,1)= random1(j);
for i = 1:length(Time)
X(j,i+1) = X(j,i) - mu*X(j,i)*TimeStep + Sigma*sqrt(2*mu)*sqrt(TimeStep)*random2(i);
end
end
如何才能删除外部 for 循环并进行矢量化,以便在每个时间步为所有 500 个绘图计算第一个值?