Lineare Algebra mit dem Statistikprogramm R

Ähnliche Dokumente
IV. Matrizenrechnung. Gliederung. I. Motivation. Lesen mathematischer Symbole. III. Wissenschaftliche Argumentation. i. Rechenoperationen mit Matrizen

Variablen in MATLAB. Unterschiede zur Mathematik: Symbolisches und numerisches Rechnen. Skriptdateien. for-schleifen.

Musterlösungen Blatt Mathematischer Vorkurs. Sommersemester Dr. O. Zobay. Matrizen

3.4 Bivariate Datenanalyse in R

Kurze Einführung in Octave

a ij i - te Gleichung (Zeile), i = 1,2,3,..., m

Untersuchen Sie, ob die folgenden Abbildungen linear oder nicht linear sind. x y

Kapitel 1. Vektoren und Matrizen. 1.1 Vektoren

Einführung in. Pierre Bayerl

Mathematische Computer-Software

a 11 a 12 a 1(m 1) a 1m a n1 a n2 a n(m 1) a nm Matrizen Betrachten wir das nachfolgende Rechteckschema:

Vektoren und Matrizen

BC 1.2 Mathematik WS 2016/17. BC 1.2 Mathematik Zusammenfassung Kapitel II: Vektoralgebra und lineare Algebra. b 2

3 Matrizenrechnung. 3. November

D-ITET. D-MATL, RW Lineare Algebra HS 2017 Dr. V. Gradinaru T. Welti. Online-Test 2. Einsendeschluss: Sonntag, den

Ökonometrische Analyse

Inhalt. Mathematik für Chemiker II Lineare Algebra. Vorlesung im Sommersemester Kurt Frischmuth. Rostock, April Juli 2015

Vektorräume und Rang einer Matrix

Lineare Gleichungen mit 2 Variablen

Beispiel-Glossar zu Octave

Skript EXCEL Matrizenrechnung/Lineare Gleichungssysteme

gegeben: G sei endliche Gruppe, jede Untergruppe von G sei ein Normalteiler zu zeigen: je zwei Elemente teilerfremder Ordnung kommutieren

I) MATRIZEN. 1) Speichern geometrischer Daten: Punkte, Vektoren. j - te Variable (Spalte), j = 1,2,3,..., n

Grundsätzliches Rechnen mit Matrizen Anwendungen. Matrizenrechnung. Fakultät Grundlagen. Juli 2015

8.2 Invertierbare Matrizen

Serie 8: Online-Test

Programmiervorkurs für die Numerik Teil 2/4

Schülerworkshop Computertomographie Mathematik als Schlüsseltechnologie

Serie a) Welche der folgenden Vektoren sind Eigenvektoren der Matrix 1 0 1? 0 1 1

Basiswissen Matrizen

Daniel Heibrock. Facharbeit Mathe. Matrizenrechnung mit dem Graphik- Taschenrechner fx-9750gii. Herr Bonertz M_L1 Q1

Affine Koordinatentransformationen

MATLAB-Tutorium WS18 Nathalie Marion Frieß

Lösungen Serie 2. D-MAVT Lineare Algebra II FS 2018 Prof. Dr. N. Hungerbühler 1 0 1? 0 1 1

1 Bestimmung der inversen Matrix

Mathematik I für MB und ME

Blockmatrizen. Beispiel 1 Wir berechnen das Produkt von A R 4 6 mit B R 6 4 :

Einfache Diskriminanzanalyse

Arrays. Theorieteil. Inhaltsverzeichnis. Begriffe. Programmieren mit Java Modul 3. 1 Modulübersicht 3

Serie 8: Online-Test

6 Symmetrische Matrizen und quadratische Formen

3.6 Eigenwerte und Eigenvektoren

Hilfsblätter Lineare Algebra

Vektoren. 2.1 Darstellung. Kapitel Subtraktion und Addition

i) ii) iii) iv) i) ii) iii) iv) v) gilt (Cauchy-Schwarz-Ungleichung): Winkel zwischen zwei Vektoren : - Für schreibt man auch.

Definitionen. Merkblatt lineare Algebra. affiner Teilraum Menge, die durch Addition eines Vektors v 0 zu allen Vektoren eines Vektorraumes V entsteht

Klausurenkurs zum Staatsexamen (SS 2015): Lineare Algebra und analytische Geometrie 3

Lineare Gleichungssysteme und Matrizen

FH Gießen-Friedberg, FB 06 (MNI) Skript 8 Mathematik 1 für KMUB 5./7. November 2008 Prof. Dr. H.-R. Metz. Matrizen 1. a m1 a m2 a m3 a mn

4 Lineare Algebra (Teil 2): Quadratische Matrizen

Casio fx-cg20 Matrix eingeben, editieren, löschen und einfache Matrizenrechnungen

8. Elemente der linearen Algebra 8.5 Quadratische Matrizen und Determinanten

täglich einmal Scilab!

Eigenwerte und Eigenvektoren von Matrizen

Lineare Algebra - Übungen 7 WS 2017/18

6.1 Welche Matrix gehört zu der Abbildung?

Übungen zum Ferienkurs Lineare Algebra WS 14/15

Quadriken. Quadriken und Hauptachsentransformation. Lineare Algebra I, WS 10/11 Ingo Blechschmidt 13. März 2011

Klausur zur Vorlesung Analyse mehrdimensionaler Daten, Lösungen WS 2010/2011; 6 Kreditpunkte, 90 min

4.2 Selbstdefinierte Matlab-Funktionen 1. Teil

Serie 12: Eigenwerte und Eigenvektoren

Matrizen spielen bei der Formulierung ökonometrischer Modelle eine zentrale Rolle: kompakte, stringente Darstellung der Modelle

Übungen zum Ferienkurs Lineare Algebra 2015/2016: Lösungen

Klausurenkurs zum Staatsexamen (WS 2015/16): Lineare Algebra und analytische Geometrie 3

Nur Matrizen gleicher Dimension können addiert oder subtrahiert werden. Zur Berechnung werden zwei Matrizen A und B in den Matrix-Editor eingegeben.

1 Lineare Unabhängigkeit Äquivalente Definition Geometrische Interpretation Vektorräume und Basen 6

Kurzanleitung HP49G. Überschrift NAME() des Befehls und über welche TASTEN der Befehl im Menü gefunden wird. Wie der Befehl eingesetzt werden kann.

m-files sind Folgen von MATLAB-Anweisungen oder Daten-Files.

Serie 8: Fakultativer Online-Test

Eine Einführung in R: Grundlagen I

1 Lineare Algebra. 1.1 Matrizen und Vektoren. Slide 3. Matrizen. Eine Matrix ist ein rechteckiges Zahlenschema

Lösungen zu Prüfung Lineare Algebra I/II für D-MAVT

WiMa-Praktikum 1. Woche 8

5.2 Rechnen mit Matrizen

3.1 Allgemeines. Abbildung 3.1: Eröffnungsmenü einer Excel-Mappe

1 Analytische Geometrie und Grundlagen

1 Definition. 2 Besondere Typen. 2.1 Vektoren und transponieren A = 2.2 Quadratische Matrix. 2.3 Diagonalmatrix. 2.

Chr.Nelius: Lineare Algebra (SS 2008) 1. 4: Matrizenrechnung. c ik := a ik + b ik. A := ( a ik ). A B := A + ( B). ist A =

9.2 Invertierbare Matrizen

Aussagenlogik. Lehrstuhl für BWL, insb. Mathematik und Statistik Prof. Dr. Michael Merz Mathematik für Betriebswirte I Wintersemester 2015/2016

Transkript:

SEITE 1 Lineare Algebra mit dem Statistikprogramm R 1. Verwendung von Variablen Variablen werden in R definiert, indem man einem Variablennamen einen Wert zuweist. Bei Variablennamen wird zwischen Groß und Kleinbuchstaben unterschieden. Die Zeichenfolge < weist dem Variablennamen einen Wert zu. Die Variablen können Zahlen, Vektoren oder Matrizen sowie Text enthalten. Beispiel für die Verwendung einer numerischen Variablen. Bei dem Zeichen > handelt es sich um die Eingabeaufforderung von R: < 2.5 A wird der Wert 2,5 zugewiesen Anzeige der Variablen A [1] 2.5 R meldet das Ergebnis > a*2 Multiplikation von a mit 2 Error: Object "a" not found Achtung! a wurde klein geschrieben *2 Multiplikation von A mit 2 [1] 5 R meldet das Ergebnis > Der Befehl zur Eingabe von Vektoren lautet c(). Beispiel für die Verwendung eines Vektors: > a < c(1,2,3) definiert den Vektor (1, 2, 3) > b < c(4,5,6) definiert den Vektor (4, 5, 6) > a Ausgabe des Vektors a [1] 1 2 3 In R können auch Textvektoren definiert werden, dies ist sehr nützlich, wenn man später eine graphische Ausgabe der Daten durchführen möchte. Die Texte werden in Anführungszeichen gesetzt und durch Kommata voneinander getrennt. Beispiel für Textvektoren: > zeilennamen < c( rot, gelb, gruen ) > spaltennamen < c("test A", "Test B", "Test C")

SEITE 2 Die Eingabe von Matrizen ist leider etwas komplizierter. Der Befehl lautet matrix(). Die Elemente der Matrix werden als Vektor eingegeben, man muß R anschließend mitteilen, in wieviele Zeilen bzw. Spalten dieser Vektor zerlegt werden soll. Dies geschieht durch das Argument nrow=x. Wird R nichts weiter mitgeteilt, dann geht das Programm davon aus, daß die Elemente der Matrix Spalte für Spalte im Vektor enthalten sind. Das Argument byrow=t bewirkt, daß die Elemente Zeile für Zeile aus dem Vektor ausgelesen werden. Beispiel für die Eingabe einer Matrix: < matrix(c(1,2,3,4,5,6,7,8,9), nrow=3) Ausgabe: [1,] 1 4 7 [2,] 2 5 8 [3,] 3 6 9 < matrix(c(1,2,3,4,5,6,7,8,9), byrow=t, nrow=3) Ausgabe: [1,] 1 2 3 [2,] 4 5 6 [3,] 7 8 9 Der Matrix können während der Eingabe Zeilen und Spaltenbezeichnungen zugeordnet werden. Die Bezeichnungen für die Zeilen und Spalten sind selbst Textvektoren. < matrix(c(1,2,3,4,5,6,7,8,9), byrow=t, nrow=3, dimnames = list(zeilennamen, spaltennamen)) Test A Test B Test C rot 1 2 3 gelb 4 5 6 gruen 7 8 9

SEITE 3 2. Rechnen mit Vektoren und Matrizen Die Addition von Vektoren und Matrizen erfolgt durch das Zeichen +. > x1 < c(6,4,2) > x2 < c(3,4,5) > x1+x2 [1] 9 8 7 > X < matrix(c(2,4,6,8,10,12), byrow=t, nrow=2) > Y < matrix(c(3,5,7,9,11,13), byrow=t, nrow=2) > X+Y [1,] 5 9 13 [2,] 17 21 25 Die Multiplikation von Vektoren und Matrizen nach den Regeln der linearen Algebra erfolgt nicht durch das Zeichen *, sondern durch die Zeichenfolge %*%. Das Zeichen * bewirkt die elementweise Multiplikation. Das Transponieren eines Vektors bzw. einer Matrix erfolgt durch den Befehl t(). > x1*x2 [1] 18 16 10 > X*Y [1,] 6 20 42 [2,] 72 110 156 > x1%*%t(x2) [1,] 18 24 30 [2,] 12 16 20 [3,] 6 8 10 > t(x1)%*%x2 [,1] [1,] 44 > X%*%t(Y) [1,] 68 140 [2,] 158 338 > t(x)%*%y [1,] 78 98 118 [2,] 102 130 158 [3,] 126 162 198 Einzelne Elemente einer Matrix lassen sich ansprechen, indem man den entsprechenden Zeilen bzw. Spaltenbereich in eckigen Klammern hinter der Matrix angibt.

SEITE 4 < t(x)%*%y [1,] 78 98 118 [2,] 102 130 158 [3,] 126 162 198 [2:3,2:3] [1,] 130 158 [2,] 162 198 [1:3,1] [1] 78 102 126 Die Determinante einer quadratischen Matrix erhält man durch den Befehl det(). [1,] 78 98 118 [2,] 102 130 158 [3,] 126 162 198 > det(a) [1] 0 Die Inverse einer quadratischen Matrix erhält man durch den Befehl solve(). > B < matrix(c(1,2,3,4), byrow=t, nrow=2) > solve(b) [1,] 2.0 1.0 [2,] 1.5 0.5 > B%*%solve(B) [1,] 1 1.110223e 16 [2,] 0 1.000000e+00 Eigenwerte und Eigenvektoren einer (symmetrischen) Matrix liefert der Befehl eigen(). > C < B%*%t(B) > eigen(c) $values [1] 29.8660687 0.1339313 $vectors [1,] 0.4045536 0.9145143 [2,] 0.9145143 0.4045536

SEITE 5 Eigenwerte und Eigenvektoren lassen sich einzeln ansprechen. Hierfür verwendet man den Befehl eigen()$values bzw. eigen()$vectors. > L < eigen(c)$values > E < eigen(c)$vectors > L [1] 29.8660687 0.1339313 > E [1,] 0.4045536 0.9145143 [2,] 0.9145143 0.4045536 Weitere Befehle: Die Summe der Elemente eines Vektors lassen sich durch sum() bestimmen. > a < c(1,2,3) > sum(a) [1] 6 Das Format einer Matrix läßt sich durch die Befehle nrow() bzw. ncol() bestimmen. > Y < matrix(c(3,5,7,9,11,13), byrow=t, nrow=2) > Y [1,] 3 5 7 [2,] 9 11 13 > nrow(y) [1] 2 > ncol(y) [1] 3 3. Erstellung von Programmen und graphische Ausgabe Eine Folge von Befehlen läßt sich zu einem Programm zusammenstellen. Es handelt sich hierbei um eine Textdatei mit der Endung.r. Programmstart Der Aufruf eines Programms erfolgt durch den Befehl source( Programm.r ). > source("optscal.r")

SEITE 6 Kommentare An beliebiger Stelle können innerhalb des Programms Kommentare eingegeben werden. Dies erfolgt, indem man dem Kommentar das Zeichen # voranstellt. I < nrow(x) # Ermittlung der Zeilenzahl von X Löschen aller Variablen Alle im Speicher vorhandenen Variablen werden durch den Befehl rm(list=ls()) gelöscht. Mit dem Befehl ls() kann man sich anzeigen lassen, welche Variablen verwendet werden. Erstellen von speziellen Matrizen Manchmal ist es hilfreich, Matrizen zu erstellen, die z.b. nur aus Nullen oder nur aus Einsen bestehen. Hierfür gibt es den Befehl rep(). Beispiel für eine Matrix vom format (3,3), die nur aus Einsen besteht: EinsII < matrix(rep(1, times=9), ncol = 3) Graphische Ausgabe Die Graphische Ausgabe von zweidimensionalen Koordinaten erfolgt über den Befehl plot(). Das erste Argument ist der Vektor, der die Koordinaten für die erste Achse enthält, das zweite Element ist der Vektor mit den Elementen für die zweite Achse. Das Argument pch= gibt an, welches Zeichen für die Darstellung verwendet werden soll (Standard ist o ). Mit den beiden folgenden Argumenten xlab= und ylab= kann man Texte für die Achsenbeschriftung bestimmen. plot(k12[1:i,1],k12[1:i,2], pch=".",xlab="1. Achse", ylab="2. Achse") Um den Punkten Texte zuzuordnen, kann man den Befehl text() verwenden. Das erste Argument ist die erste Koordinate für den entsprechenden Punkt, das zweite die zweite Koordinaten, als drittes Argument wird der Text eingegeben. text(k12[i,1],k12[i,2], Text )

SEITE 7 Verwendung von Schleifen Da man üblicherweise mehr als nur einen Punkt bezeichnen möchte, empfiehlt sich die Verwendung von Schleifen. Hat man z.b. I Punkte, so lautet der Befehl für I Durchläufe mit dem Laufindex i for (i in 1:I). Die entsprechende Befehlsfolge, die mit jedem Durchlauf ausgeführt werden soll, wird in geschweifte Klammern eingekleidet. for (i in 1:I) {text(k12[i,1],k12[i,2],rnamen[i])}