Я хочу реализовать алгоритм monte carlo в Matlab несколько иначе, чем я видел где-нибудь еще. У меня есть рабочий пример, где я генерирую вектор 1000 точек и вычисляю pi из этого. Теперь я хочу модель, где я могу добавить дополнительные точки к тому же примеру.Увеличение значений для monte carlo в matlab
Это мой код до сих пор:
a=rand(1000,1); %initial random vectors
b=rand(1000,1);
n=1000;
m=0; %Number of points inside circle
while true
x1=a-0.5;
y1=b-0.5; %cirle has centre at (0.5,0.5)
r=x1.^2+y1.^2;
for i=1:n
if r(i)<=0.25
m=m+1;
end
end
pi=m/(0.25*n);
a=rand(1000,1);
b=rand(1000,1);
n=n+1000;
pause(1);
end
Но это не работает из-за для петли, где проверить переменные ... значение г (я) Шоуда сдвигаться следующие 1000 значений, которые я создаю в нижней части цикла while ... Кто-нибудь знает решение для этого?
это работает, спасибо! – wietjes