• Keine Ergebnisse gefunden

die Lösung ist der Vektor x # Man kann x auch durch x=(A^-1)b bestimmen: solve(A)%*%b # im ersten Fall erhält man einen Vektor: is.vector(solve(A,b)) is.matrix(solve(A,b

N/A
N/A
Protected

Academic year: 2021

Aktie "die Lösung ist der Vektor x # Man kann x auch durch x=(A^-1)b bestimmen: solve(A)%*%b # im ersten Fall erhält man einen Vektor: is.vector(solve(A,b)) is.matrix(solve(A,b"

Copied!
4
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

#Vektoren:

x<-c(3,1) x

y<-c(2,3) y

#Addition:

x+y

# Multiplikation mit Skalar:

(-3)*x

# Skalarprodukt:

x%*%y

# oder so:

t(x)%*%y

# Das Ergebnis ist jeweils eine 1*1 Matrix

# so wird es eine Zahl:

as.numeric(t(x)%*%y)

#Dyadisches Produkt:

x%*%t(y)

# Länge der Vektoren:

sqrt(sum(x^2)) sqrt(sum(y^2))

# Berechnung des Winkels zwischen den Vektoren:

acos(as.numeric(t(x)%*%y)/(sqrt(sum(x^2))*sqrt(sum(y^2))))/pi*180

# Matrizen:

A<-matrix(c(1,2,2,5),ncol=2) A

B<-matrix(c(2,1,3,4,-1,2),ncol=3) B

# Jetzt wird die Matrix Zeilenweise gefüllt B<-matrix(c(2,1,3,4,-1,2),ncol=3,byrow=T) B

# Transponierte Matrix:

t(B)

# Addition:

A+B

B<-matrix(c(2,1,4,-1),ncol=2,byrow=T) B

A+B

# Multiplikation mit Skalar:

(-3)*A

1/4

(2)

# Matrizenmultiplikation:

B<-matrix(c(2,1,3,4,-1,2),ncol=3,byrow=T) A%*%B

# mit "leicht geänderter Matrix B":

B<-matrix(c(1,2,3,4,-1,2),ncol=3,byrow=T) A%*%B

# Rechenregel für transponierte Matrizen:

t(A%*%B) t(B)%*%t(A)

# Determinate:

det(A) B

det(B)

B<-matrix(c(2,1,4,-1),ncol=2,byrow=T) B

det(B)

# Inverse Matrix:

A

solve(A) B

solve(B)

B%*%solve(B) solve(B)%*%B

round(B%*%solve(B),4) round(solve(B)%*%B,4)

# Mit solve wird ein lineares Gleichungsystem gelöst:

# z.B.: Ax=b b=c(3,4)

solve(A,b)

# die Lösung ist der Vektor x

# Man kann x auch durch x=(A^-1)b bestimmen:

solve(A)%*%b

# im ersten Fall erhält man einen Vektor:

is.vector(solve(A,b)) is.matrix(solve(A,b))

# im zweiten Fall eine Matrix mit zwei Zeilen

# und einer Spalte, als praktisch einen Spaltenvektor:

is.vector(solve(A)%*%b) is.matrix(solve(A)%*%b)

2/4

(3)

# Rechenregeln für inverse Matrizen:

# (A*B)^(-1)=B^(-1)*A^(-1):

solve(A%*%B)

solve(B)%*%solve(A)

# (B*A)^(-1)=A^(-1)*B^(-1):

solve(B%*%A)

solve(A)%*%solve(B)

# Spur einer Matrix:

A

sum(diag(A)) B

sum(diag(B))

# Eigenwerte und Eigenvektoren:

eigen(A)

# Die Determinate ist das Produkt der Eigenwerte:

eigen(A)$value

prod(eigen(A)$value) det(A)

eigen(B)$value

prod(eigen(B)$value) det(B)

# Die Spur ist die Summe der Eigenwerte:

eigen(A)$value

sum(eigen(A)$value) sum(diag(A))

eigen(B)$value

sum(eigen(B)$value) sum(diag(B))

# Die Eigenvektoren sind die Spaltenvektoren

# der folgenden Matrix, erste Spalte = erste EV:

eigen(A)$vector eigen(B)$vector

# Die Eigenvektoren zu verschiedenen Eigenwerten

# einer symmetrischen Matrix sind zu orthogonal:

# Die Matrix A ist symmetrisch:

A

eigen(A)$vector[,1]%*%eigen(A)$vector[,2]

# Die Matrix B hingegen ist nicht symmetrisch:

B

eigen(B)$vector[,1]%*%eigen(B)$vector[,2]

3/4

(4)

# Die in R ausgegebenen Eigenvektoren haben die Länge 1:

eigen(A)$vector[,1]

sum(eigen(A)$vector[,1]^2) eigen(A)$vector[,2]

sum(eigen(A)$vector[,2]^2) eigen(B)$vector[,1]

sum(eigen(B)$vector[,1]^2) eigen(B)$vector[,2]

sum(eigen(B)$vector[,2]^2)

# Grafische Darstellung der Eigenvektoren von A:

plot(eigen(A)$vector[1,],eigen(A)$vector[2,],

xlim=c(-1,1),ylim=c(-1,1),xlab=" ",ylab=" ",main="Eigenvektoren von A", col="blue",lwd=2)

arrows(0,0,eigen(A)$vector[1,1],eigen(A)$vector[2,1],col="red",lwd=2) arrows(0,0,eigen(A)$vector[1,2],eigen(A)$vector[2,2],col="red",lwd=2) abline(c(0,0))

abline(c(0,10^10))

# Grafische Darstellung der Eigenvektoren von B:

plot(eigen(B)$vector[1,],eigen(B)$vector[2,],

xlim=c(-1,1),ylim=c(-1,1),xlab=" ",ylab=" ",main="Eigenvektoren von B", col="blue",lwd=2)

arrows(0,0,eigen(B)$vector[1,1],eigen(B)$vector[2,1],col="red",lwd=2) arrows(0,0,eigen(B)$vector[1,2],eigen(B)$vector[2,2],col="red",lwd=2) abline(c(0,0))

abline(c(0,10^10))

# Drehungen durch orthogonale Matrizen:

# Drehungswinkel:

alpha<-pi/2

#Drehungsmatrix

D<-matrix(c(cos(alpha), -sin(alpha),sin(alpha),cos(alpha)),ncol=2,byrow=T) round(D,5)

# Vektor x:

x

# Vektor Dx:

d<-as.vector(D%*%x)

#Grafische Darstellung der Vektoren:

plot(c(x[1],d[1]),c(x[2],d[2]),

xlim=c(-5,5),ylim=c(-5,5),xlab=" ",ylab=" ",main="Drehung", col="blue",lwd=2)

arrows(0,0,x[1],x[2],col="black",lwd=2) arrows(0,0,d[1],d[2],col="red",lwd=2) abline(c(0,0))

abline(c(0,10^10))

4/4

Referenzen

ÄHNLICHE DOKUMENTE

Ein W ert kann aber nur dann gleich seinem komplex konjugierten W ert sein, wenn er reell

Fülle die freien Felder mit den richtigen Termen aus, wie im Beispiel vorgegeben.. Hinweis: Es kommen

Fülle die freien Felder mit den richtigen Termen aus, wie im Beispiel vorgegeben.. Hinweis: Es kommen

Fülle die freien Felder mit den richtigen Termen aus, wie im Beispiel vorgegeben.. Hinweis: Es kommen

Universität Tübingen Mathematisches

Universität Tübingen Mathematisches

→ The algorithm is more complex but does not rely on pre-computation of variable dependencies :-)). → It also works if variable dependencies during iteration

Es sind also jeweils 13 Ellipsen (inklusive der Grenzfälle eine waagerechen oder senkrechten Strecke)