|
[Home] [Lexikon] [Aufgaben] [Tests] [Kurse] [Begleitmaterial] [Hinweise] [Mitwirkende] [Publikationen] |
|
Mathematik-Online-Lexikon: | |
for-Schleife |
| A B C D E F G H I J K L M N O P Q R S T U V W X Y Z | Übersicht |
Nachfolgend werden drei unterschiedliche Implementierungen angegeben, deren Laufzeit mit Hilfe der Befehle tic (Start einer Stoppuhr) und toc (Anhalten der Stoppuhr) gemessen wird:
Implementierung mit einer for-Schleife über die Anzahl der Tests:
tic
n=10^6;
z=0;
for k=1:n
p=rand(2,1);
z=z+(p(1).^2+p(2).^2<1);
end
pi=4*z/n
toc
Ausgabe:
pi =
3.1432
Elapsed time is 18.367863 seconds.
Die Schleife wird
Implementierung mit einer for-Schleife über die Spalten einer Zufallspunktematrix:
tic
n=10^6;
z=0;
for p=rand(2,n)
z=z+(p(1).^2+p(2).^2<1);
end
pi=4*z/n
toc
Ausgabe:
pi =
3.1453
Elapsed time is 11.304552 seconds.
Im Gegensatz zur ersten Implementierung werden alle
Implementierung ohne eine for-Schleife:
tic n=10^6; P=rand(2,n); z=sum(P(1,:).^2+P(2,:).^2<1); pi=4*z/n tocAusgabe:
pi =
3.1403
Elapsed time is 0.388576 seconds.
Zunächst wird eine
P(1,:).^2+P(2,:).^2 wird ein
Vektor bestimmt, welcher die quadrierten Abstände dieser Punkte vom
Ursprung enthält. Der Vergleich dieses Vektors mittels <1
ergibt einen logischen Vektor, der bei Summation mittels sum
die Anzahl
| automatisch erstellt am 17. 6. 2009 |