Frage von ArcSaber, 66

Was sind die Unterschiede zwischen / und \ in Matlab?

Guten Tag,

ich programmiere gerade mit Matlab und mir ist aufgefallen, dass die Operationen "/" und "\" nicht die selben Werte liefern. Während "/" eine ganz normale Division durchführt, scheint "\" die Division umzukehren. Wenn ich in Matlab beispielsweise "6 / 3" eingebe, kommt da 2 raus. Setze ich "6 \ 3" ein, kommt da 0,5 raus, was ja bedeuten würde, dass diese Operation die Division von rechts nach links durchführt. Bei Matrizen klappt es komischerweise nicht. E sei eine 4x4 Matriz und A ein 4x1 Vektor. Gebe ich nun "E \ A" ein, kriege ich eine Lösung, für "A \ E" meldet Matlab jedoch nur, dass die Dimensionen nicht passen.

Mit freundlichen Grüßen

xarcsaber

Hilfreichste Antwort - ausgezeichnet vom Fragesteller
von isbowhten, 21

A\b ist die lösung des gleichungssystems Ax=b. wenn man nun vektoren b durch matrizen A teilen könnte, so wäre x=b/A. bei zahlen geht das. bei matrizen nicht. bei zahlen ist das also die von dir beschriebene division.

du kannst das übrigens auch auf "größere" systeme anwenden. seien A und B matrizen, dann ist A\B die lösung des problems A * X = B, wobei dafür X natürlich auch eine matrix sein muss.

algebraisch gesehen ist das dann die bestimmung eines inversen von links von A und multiplikation mit B. (X= A^(-1) B)

das A^(-1) entspricht dabei bei zahlen dem 1/a. und 1/a * b. die menge der matrizen bildet mit der matrizenmultiplikation nur einen ring, d.h.: A^(-1) existiert nicht immer. dennoch wird matlab auch in solchen fällen noch ein ergebnis ausgeben. es ist eben doch nur ein gleichungssystemlöser und für ein gleichungssystem können aus 2 gründen keine eindeutige lösung geben.

es gibt mehrere, dann wählt matlab vmtl. diejenige aus, mit der geringsten norm. oder es gibt keine lösung, dann scheint matlab als ergebnis für die einträge des ergebnisses, die zu widersprüchigen einzel-gleichungen gehören die werte so zu wählen, dass A * x = b', wobei b'=b bei lösbaren gleichungen und b'= irgendwas komisches, bei nicht lösbaren gleichungen.

beachte also:

dir muss vorher bewusst sein, ob das was du tust, sinn macht.

Kommentar von ArcSaber ,

Dankeschön, jetzt ist mir alles klar :)

Antwort
von Lukasx97, 36

Ich glaub dass liegt daran, dass du nicht e durch a dividieren kannst. (Rechenregeln matrizen)

Kommentar von Lukasx97 ,

sry a durch e

Kommentar von ArcSaber ,

Das ist mir bewusst, dass man einen 4x1 Vektor nicht durch eine 4x4 Matriz teilen kann. Jedoch dachte ich, dass der Backslash (\) eine Operation in Matlab sei, die die Division in umgekehrter Reihenfolge ausführt, sprich E\A = A/E, da 6\3=0,5.

Deswegen stell ich mir ja die Frage was der Unterschied zwischen dem normalen Slash (/) und dem Backslash (\) ist.

Trotzdem danke für die Antwort:)

Antwort
von poseidon42, 18

http://de.mathworks.com/help/matlab/

Geh mal auf diese Seite von denen und dann gib mal in die Suchleiste nur das " \ " an, dann erscheint als Auswahlmöglichkeit:

" \ - Backslash or Matrix left division (Arithmetic Operators) ", Es scheint also genau das von dir angegebene zu tun.

Und wenn du mal hier schaust, ist noch eine kleinere Ausführung dazu:

http://nf.nci.org.au/facilities/software/Matlab/techdoc/ref/arithmeticoperators....

Keine passende Antwort gefunden?

Fragen Sie die Community