--------------- # Aufgabe 1 # --------------- # 1a) v1 = c(1,-1,-1,1) v2 = c(1,-2,-3,1) v3 = c(-2,6,9,0) v4 = c(4,-3,-2,5) A = rbind(v1,v2,v3,v4) # "rowbind", zeilenweises Zusammensetzen A # 1b) Ainv = solve(A) Ainv zapsmall(Ainv) # ignores e-16 stuff in the output # 1c) A %*% Ainv zapsmall(A %*% Ainv) Ainv %*% A zapsmall(Ainv %*% A) # 1d) det(A) det(Ainv) # 1e) res = eigen(A) res names(res) Eigenwerte = res$values Eigenwerte Eigenvektoren = res$vectors Eigenvektoren D = diag(Eigenwerte) # macht aus einem Vektor eine Diagonalmatrix D V = Eigenvektoren V Vinv = solve(V) Vinv testA = V %*% D %*% Vinv testA zapsmall(testA) A # ok, passt alles.. --------------- # Aufgabe 2 # --------------- # 2a) x = seq(from=0,to=10,by=0.1) y1 = -x/2+3 y2 = -2*x+6 y3 = -x/3 +1 plot(x,y1,type="l") lines(x,y2) # addiert Punkte zu einem schon bestehenden Plot, lines(x,y3) # im Prinzip dasselbe wie plot(...,type="l"), nur # ohne neues plot-Fenster # wir koennten noch die y-Achse einzeichnen, die # Begrenzung von x>=0: # da die Steigung unendlich ist, gibt es extra Befehl: abline(v=0) # v fuer vertikale Linie und 0 ist der # Schnittpunkt mit der x-Achse # Hoehenlinien: x+y=c <=> y = -x+c, # c vielleicht von 0 bis 10: c = 0:10 for(cc in c) { y = -x+cc lines(x,y,col="red") } # man sieht: Minimum bei (x,y)=(0,1) mit Wert 1, # Maximum bei (x,y)=(2,2) mit Wert 4. # Versuchen wir das jetzt mit dem linprog-package zu machen: # 2b) # da wir uns das linprog-package noch nicht angeschaut haben, # machen wir diese Aufgabe erst auf dem naechsten Uebungsblatt.