Hello!
I'm running Monte Carlo simulation in Matlab 2012a, the following code returns an error
if matlabpool('size') == 0 matlabpool open end parfor i=1:M for j=2:N x(i,j)=x1(i,j-1)+sqrt(x(i,j-1)) y(i,j)=y(i,j-1)+sqrt(y(i,j-1)) z(i,j)=z(i,j-1)+x(i,j-1)+y(i,j-1) end end matlabpool close
(Definitions of x ,y, z are simplified but the main idea remains) As I understand it is impossible to use indexing this way in a nested 'for' 'cos Matlab cannot check if array elements are independent. But in my situation it's clear that index i (different MC paths are independent) is remaining unchanged in for loop, only j (time steps) is being changed. Could you please give me a piece of advice with this issue?
Thanks in advance, Alex.
P.S. the error is obvious for such cases: The variable x in a parfor cannot be classified.
Best Answer