Übung 9 Hausübung (Matrix)

kechler
Mausschubser
Mausschubser
Beiträge: 46
Registriert: 21. Nov 2004 22:33
Wohnort: Darmstadt

Übung 9 Hausübung (Matrix)

Beitrag von kechler »

Hallo allerseits,

ich habe mal eine Frage zur neuen Hausübung 9, Teilaufgabe 6 (Determinante berechnen):

Können wir davon ausgehen, dass es sich hier immer nur um 3x3-Matrizen handelt??

Sonst wird das beliebig häßlich, den Laplace'schen Entwicklungssatz über die Leibniz-Formel o.ä. herzuleiten...

Allerdings sind 2,5 Punkte für die 3x3-Variante dann im Vergleich zum Rest der Hausübung dann ziemlich leicht verdient...

Benutzeravatar
Robert
Ehemalige Fachschaftler
Beiträge: 511
Registriert: 6. Okt 2004 17:38
Wohnort: DA

Beitrag von Robert »

nein kannst du NICHT ausgehen. du kannst nur davon ausgehen das es eine n x n matrix ist (und keine n x m)

du brauchst den Laplace nicht herleiten sondern kannst ihn als richtig ansehen und benutzen. du brauchst auch keine pivot suche machen sondern kannst einfach immer nach einer konstanten zeile/spalte entwickeln.

Mira`
Mausschubser
Mausschubser
Beiträge: 92
Registriert: 27. Okt 2006 20:41

Beitrag von Mira` »

Kurze Frage am Rande:

um die Anzahl der Spalten zu bekommen macht es ja bei Matrizen Sinn nach der Länge in einer bestimmten Reihe zu fragen (z.b. Reihe 0).

Aber wie sieht das aus, wenn die Länge der Spalten in den verschiedenen Reihen variieren kann? Muss man dann immer explizit nach Länge in der gewünschten Reihe fragen, oder gibt es auch eine Methode, die mir z.b. nur die größte Länge der Spalten im Array liefert?

PS: Ich wollte jetzt keinen Code posten, da ich ja dann schon 2 Methoden der 9. Hausübung verraten hätte. Ich hoffe es ist trotzdem verständlich.

Benutzeravatar
MisterD123
Geek
Geek
Beiträge: 811
Registriert: 31. Okt 2006 20:04
Wohnort: Weiterstadt

Beitrag von MisterD123 »

ehm matrizen sind immer rechteckig, die haben keine längeren und kürzeren reihen oder spalten. innerhalb einer matrix sind alle spalten und zeilen gleich groß.

Benutzeravatar
Robert
Ehemalige Fachschaftler
Beiträge: 511
Registriert: 6. Okt 2004 17:38
Wohnort: DA

Beitrag von Robert »

MisterD123 hat vollkommen recht!
gibt es auch eine Methode, die mir z.b. nur die größte Länge der Spalten im Array liefert?
mir ist nicht bekannt das es sowas gibt .. aber ich bin leider nicht allwissend. mit solchen fragen kann man normal ganz gut google oder die java api fragen ;) (auf der gdi1 homepage verlinkt)

Benutzeravatar
Wang Tang
Mausschubser
Mausschubser
Beiträge: 92
Registriert: 5. Dez 2006 17:57

Beitrag von Wang Tang »

puh, ich hab die determinant-Methode jetzt endlich fertig, hat ja ewig gedauert bei mir, Laplace zu implementieren. Hat allerdings noch 22 Zeilen :cry:

Wieviel braucht ihr denn so dafür? Oder zerlegt ihr die Methode?

Benutzeravatar
gobbledygook
Windoof-User
Windoof-User
Beiträge: 26
Registriert: 11. Nov 2006 14:15

Beitrag von gobbledygook »

14 zeilen
nicht zerlegt, ohne kommentar und ohne die "}"-zeilen mitzuzählen




Ich mag keine Vegetarier.
Die essen meinem Essen das Essen weg.

Benutzeravatar
Robert
Ehemalige Fachschaftler
Beiträge: 511
Registriert: 6. Okt 2004 17:38
Wohnort: DA

Beitrag von Robert »

also ich rate euch beiden noch ein paar eigene Tests dafür zu schreiben.
je nachdem wie man es macht könnte es schon sehr sinnvoll sein die methode zu zerlegen. vorallem um das verständniss zu erhöhen.

was sich so allgemein immer gut zum zerlegen eingnet sind so die inhalte von schleifen .. besonders bei verschachtelten schleifen.
eine schleife aller
for(...) {
Bla bla = erzeugeBla();
verarbeiteBla(bla);
tue sonst noch was ..
}

liest sich oftmals besser als wenn man die Erzeugung (welche ggf auch schleifen enthält) direkt in den body der schleife macht.

Benutzeravatar
blowfish
Sonntagsinformatiker
Sonntagsinformatiker
Beiträge: 241
Registriert: 18. Okt 2006 16:00

Beitrag von blowfish »

hi,
zu der aufgabe: ich hab mal die tests durchlaufen lassen und es stimmen alle, bis auf der letzte determinanten-test. die ersten beiden stimmen!
is das n fehler in der testklasse, oder hab ich da was falsch gemacht.
wunder mich halt, weil der pow-test stimmt und 2 der determinanten-tests auch!
Ein Hemd ist Einstellungssache!

Tutor16
Windoof-User
Windoof-User
Beiträge: 30
Registriert: 25. Okt 2006 16:52

Beitrag von Tutor16 »

Achtung weil pow(2) funktioniert, bedetutet das nicht, dass pow(3) funktioniert!
Bei Matrizen gibt es einen Unterschied zwischen (M*M)*M und M*(M*M)

Benutzeravatar
MisterD123
Geek
Geek
Beiträge: 811
Registriert: 31. Okt 2006 20:04
Wohnort: Weiterstadt

Beitrag von MisterD123 »

also wir haben in der Vorlesung eigentlich grade gelernt, das A*B*C = (A*B)*C = A*(B*C) ist o_O

Tutor16
Windoof-User
Windoof-User
Beiträge: 30
Registriert: 25. Okt 2006 16:52

Beitrag von Tutor16 »

ähm, ja, sorry, hab mich grad vertan.

Aber Ergebniss sollte stimmen.

Benutzeravatar
Robert
Ehemalige Fachschaftler
Beiträge: 511
Registriert: 6. Okt 2004 17:38
Wohnort: DA

Beitrag von Robert »

hi,
zu der aufgabe: ich hab mal die tests durchlaufen lassen und es stimmen alle, bis auf der letzte determinanten-test. die ersten beiden stimmen!
is das n fehler in der testklasse, oder hab ich da was falsch gemacht.
wunder mich halt, weil der pow-test stimmt und 2 der determinanten-tests auch!
tja .. so ist das eben mit tests .. sie decken nicht alles ab ... und deinem post entnehme ich irgendwie das du dir keine eigenen tests geschrieben hast.

ich hab eben nochmal nachgerechnet:
(wobei ; die zeilen trennt und , die elemente der Zeile)
m:=[1, 2, 1; 2, 6, 6; 7, 7, 2]
m*m*m = [159, 255, 168; 570, 954, 648; 546, 861, 561]
DET(m*m*m) = 5832

du kannst ja mal deine teilschritte vergleichen ... aber allgemein kannst du dir nen beliebiges mathe programm nehmen und vor dem posten selber prüfen ob den der test wirklich falsch ist, gell ;) (geht auch schneller als posten und auf antwort warten)

determinanten berechnungs tools gibts ja auch bei wikipedia .. und matrix berechnungs tools finden sich wahrscheinlich auch mit google.

[edit]
ach was ich mir gut vorstellen könnte als fehler ist: das dein m1 nach m1.multiply(3) sich geändert hat. das sollte ja nicht sein.

Benutzeravatar
blowfish
Sonntagsinformatiker
Sonntagsinformatiker
Beiträge: 241
Registriert: 18. Okt 2006 16:00

Beitrag von blowfish »

danke für die antwort. für die potenzierung hab ich schonmal das gleiche raus. scheint also zu funktionieren. multiply und auch pow ändern die eigentliche matrix nicht, sondern geben eine neue zurück.
hab die determinante jetzt auch mal per hand nachgerechnet und es muss an meiner determinant funktion liegen. hab auch die besagten 5832 raus!
ok, hat sich damit erledigt, ich werd mal nach dem fehler suchen!
/edit: k, hab ihn! war ne kleine sache, die ich übersehen hab!
Ein Hemd ist Einstellungssache!

Benutzeravatar
Anne
Mausschubser
Mausschubser
Beiträge: 74
Registriert: 2. Jan 2007 20:39

Matrix hoch Null

Beitrag von Anne »

Hallo!
Frage zur Hausübung: Was kommt eigentlich raus, wenn man eine Matrix hoch 0 nimmt? Ich hab leider nichts bei Wikipedia gefunden, und über Google auch nicht, und ich dachte, vielleicht weiß es hier jemand...? Ich kann's mir anhand der Multiplikationsregeln, die wir bisher gelernt haben, nicht so recht vorstellen, wie das aussehen soll...
Schönes Wochenende allerseits,
Anne

Antworten

Zurück zu „Archiv“