#---------------------------# # Loesungen UeBlatt5 # #---------------------------# # 1a) N = seq(from=100, to=1000, by=100) for(n in N) { M = matrix( rnorm(n*n,0,1) , n , n ) M = M / sqrt(n) info = paste("N =",n) plot(eigen(M)$values, main=info) Sys.sleep(2.0) } # 1b) N = seq(from=100, to=1000, by=100) for(n in N) { M = matrix( rnorm(n*n,0,4) , n , n ) M = M / sqrt(n) info = paste("N =",n,", sd = 4") plot(eigen(M)$values, main=info) Sys.sleep(2.0) } # 1c) N = seq(from=100, to=1000, by=100) for(n in N) { M = matrix( rnorm(n*n,6,4) , n , n ) M = M / sqrt(n) info = paste("N =",n,", mean = 6, sd = 4") plot(eigen(M)$values, main=info) Sys.sleep(2.0) } # 1d) N = seq(from=100, to=1000, by=100) mu = 6 for(n in N) { v = rep(1,n*n) A = mu * matrix(v,n,n) / sqrt(n) res = eigen(A)$values print(res) print(summary(res)) info = paste("Eigenvalues of A, N =",n) plot(res, main=info) readline("press enter to continue..") } # Offensichtlich gibt es genau einen Eigenwert ungleich 0, # und dieser Eigenwert ist gleich mu*sqrt(N) # 1f) N = seq(from=100, to=1000, by=100) for(n in N) { M = matrix( rbinom(n*n,100,0.1) , n , n ) M = M - 10 # jetzt Erwartungswert 0 M = M / sqrt(n) info = paste("Zufallsmatrix mit binomialverteilte Zufallszahlen\n mit Mittelwert 0 und sd = 3, N =",n) plot(eigen(M)$values, main=info) Sys.sleep(2.0) } # 1g) N = seq(from=100, to=1000, by=100) for(n in N) { M = matrix( rbinom(n*n,100,0.1) , n , n ) M = M - 10 # jetzt Erwartungswert 0 M = M / sqrt(n) M2 = matrix( rnorm(n*n,0,3) , n , n ) / sqrt(n) M2up = upper.tri(M2) M2up = M2up * M2 Mlow = lower.tri(M) Mlow = Mlow * M Md = diag( diag(M) ) Mfinal = Mlow + Md + M2up info = paste("Mixed Distributions with mean=0 and sd=3\n N =",n) plot(eigen(Mfinal)$values, main=info) Sys.sleep(2.0) }