查看单个帖子
旧 2019-11-26, 12:40   #1
poster
高级会员
 
注册日期: 2019-11-21
帖子: 3,006
声望力: 66
poster 正向着好的方向发展
默认 Vectorising a For-Loop Operation

I have an SDE im approximating by a numerical scheme using the code:



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


How would it be possible to remove the outer for-loop and vectorize so that at each time step, the first value is calculated for all 500 plots.



Any help is appreciated





More answer...
poster 当前离线   回复时引用此帖