package vorlesungen; import java.util.Random; public class Wiener { Random r = null; public Wiener() { r = new Random(System.currentTimeMillis()); } public double[] approxWiener(int n, double[] ts) { double[] result = new double[ts.length]; // Realize random variables Z_n double[] zs = new double[(int)Math.floor(getMax(ts)*n)+1]; for(int i=0; i0) { for(int i=0; i1) { double mean = getMean(sample); for(int i=0; imax) { max = sample[i]; } } return max; } /** * Hauptprogramm: * Simulation eines Wiener Prozesses */ public static void main(String[] args) { int sampleSize=1000; int order = 1000; int n_stuetz = 1000; double[] sample = new double[sampleSize]; // Stuetzstellen bestimmen. double[] stuetzstellen = new double[n_stuetz+1]; for(int i=0; i<=n_stuetz; i++) { stuetzstellen[i]=((double)i)/ ((double)n_stuetz); //System.out.println(stuetzstellen[i]); } Wiener w = new Wiener(); for(int i=0; i < sample.length; i++) { double[] values = w.approxWiener(order, stuetzstellen); sample[i] = getMax(values); } /* Bestimme Mittelwert und Stichprobenvarianz der Maxima-Approximationen */ double mean = getMean(sample); double var = getVar(sample); System.out.println("Mittelwert: "+mean+"\n"); System.out.println("StichprobenVarianz: "+var+"\n"); } } //Mittelwert: 0.7942376571278901 //StichprobenVarianz: 0.35767021421421363