Seminar Simulation stochastischer Modelle
1. Eine Dimension in R
Quellcode in R
# Funktion für einen Graf
brown <- function(m) {
# Erzeuge Array mit -1 und 1 Werten gleichverteilt.
n<-sample(c(-1,1),m, replace=T)
# Array anlegen und initialisieren
c<-seq(1,m)
z<-0
i<-0
# Schleife berechnet für jede Zeitposition den aktuellen Wert
while (z<m) {
# Zeit + 1
z<-z+1
# Aktueller Wert + Delta bei der Zeit
i<-i+n[z]
# Wert abspeichern
c[z]<-i
}
# Grafische Anzeige
plot(c, cex=.1, type="n",main="Brownsche Bewegung 1D",xlab="Zeit",ylab="Wert")
lines(c)
}
# Hilfsunktion für einen Graf
brown2 <- function(schritte) {
# Erzeuge Array mit -1 und 1 Werten gleichverteilt.
n<-sample(c(-1,1),schritte, replace=T)
# Array anlegen und initialisieren
c<-seq(1,schritte)
z<-0
i<-0
# Schleife berechnet für jede Zeitposition den aktuellen Wert
while (z<schritte) {
# Zeit + 1
z<-z+1
# Aktueller Wert + Delta bei der Zeit
i<-i+n[z]
# Wert abspeichern
c[z]<-i
}
# Grafische Anzeige
lines(c)
}
# Funktion für mehrere Grafen
browns <- function(anzahl,schritte,p) {
# Grafiklegende zeichnen
plot(seq(0,schritte, by=schritte/p/2), -p:p, cex=.1, type="n",main="Brownsche Bewegung 1D",xlab="Zeit",ylab="Wert")
# Für Anzahl durchgänge wird brown2 aufgerufen
zz<-0
while (zz<anzahl) {
brown2(schritte)
zz<-zz+1
}
# ende
}
print ("brown(schritte)")
print ("browns(anzahl,schritte,skalierung)")
browns(1,1000,100)
Screenshot
a) browns(1,1000,100)

b) browns(100,100,50)

c) browns(100,1000,100)
Links
MBS REAL studio Plugins - Pfarrgemeinde Ministranten Nickenich