Ich schreibe einen Code, um die Lösung für die Laplace-Funktion mit einer gegebenen Reihe von Randbedingungen mit Hilfe einer Monte-Carlo-Simulation in Octave zu finden. Ich habe den ursprünglichen Code geschrieben, um einzelne Lösungen zu finden, aber dies muss einige Male ausgeführt werden und dann gemittelt werden, um eine schöne, reibungslose Lösung zu erhalten. Das ist der Teil, mit dem ich Hilfe brauche, da ich keine Ahnung habe, wie ich das anstellen soll. Der Code, den ich geschrieben habe, ist:Averaging-Lösungen in Monte Carlo Simulation mit Octave
a=20;
s=1
for (m=s:s:a-s);
for (n=s:s:a-s);
x=m;
y=n;
for (i=1:5000)
R=randi(4);
if (R==1)
xnew=x+s;
ynew=y;
elseif (R==2)
xnew=x-s;
ynew=y;
elseif (R==3)
xnew=x;
ynew=y+s;
elseif (R==4)
xnew=x;
ynew=y-s;
endif
%hold on;
%figure(1);
%plot([x xnew],[y ynew])
x=xnew;
y=ynew;
if (x==0);
u(n,m)=sin(pi*y/a);
break
elseif (x==a);
u(n,m)=0;
break
elseif (y==0);
u(n,m)=0;
break
elseif (y==a);
u(n,m)=0;
break
else
continue;
endif
endfor
endfor
endfor
figure(2);
contour(u)
Mit anderen Worten, was ich tun möchte, ist Datensatz dieser Wert von „u“ (die Lösung), das Programm erneut aus, diesen Wert von „u“ aufzunehmen, und fahre mit diesem Prozess hundertmal fort, dann mittle sie aus und zeichne die durchschnittliche Lösung auf. Ich bin ziemlich neu in der Skripterstellung, daher wird jeder Rat, den Sie geben können, sehr geschätzt.
Danke, Steve