Hallo zusammen, ich habe folgende mathematische Frage. Ich möchte eine quadratische Matrix rechtsseitig durch einen Zeilenvektor dividieren. Dies funktioniert auch, nur möchte ich die Operationen die dahinter stecken verstehen. Der Matlab Hilfe (mrdivide) und auch google konnte ich nicht die richtige Info entlocken. Beispiel: A = 10 0 0 10 B = 2 2 C = A/B C = 0.25 0.25 Erfolgt die Lösung nach dem Gaußverfahren oder iterativ? Danke
Du musst von B die inverse Matrix bilden. Und dann eine Matrizenmultiplikation durchführen.
Ich bin in Matlab leider etwas eingerostet. Nur für mein Verständnis, du hast wirklich einfach C = A/B eingegeben und Matlab hat keinen Dimensionsfehler rausgeworfen?
>Die Inverse ist aber nur für quadratische Matrizen definiert.
Übrigens gibt es für (fast) alles andere die Pseudoinverse.
Wenn man das multiplikativ inverse eines Vektors finden möchte, muss man die folgende Gleichung lösen:
Dann ist:
dann kommt aber C = 2.5 2.5 raus außerdem ist nach deiner definition das inverse nicht eindeutig
>Wenn man das multiplikativ inverse eines Vektors finden möchte, muss man >die folgende Gleichung lösen:
Haha, guter Witz. Es gibt kein multiplikatives Inverses eines Vektors, weil die Gleichung
keine eindeutige Lösung besitzt. Es gibt unendlich viele Vektoren, die
sie erfüllen. Außerdem gibt es mehrere Arten, Vektoren multiplikativ
miteinander zu verknüpfen, und das Skalarprodukt ist nur eine davon (das
Kreuzprodukt ist eine andere).
>Dann ist:
Nein.
Read the friendly manual: help mrdivide help mldivide steht alles drin: is the solution in the least squares sense to the under- or overdetermined system of equations Cheers Detlef
Ich habe das so in Erinnerung: Der Kehrwert eines reellen Vektors wird gebildet indem man alle Einträge durch ihren Kehrwert ersetzt.
>Der Kehrwert
...einer reellen Zahl a ist diejenige (bis auf den ausgeschlossenen Fall
a = 0) eindeutig bestimmte Zahl x, deren Produkt mit a gleich 1 ist:
x * a = 1 <==> x ist der Kehrwert von a.
Das kann man jedoch nicht auf Vektoren übertragen. Es gibt zwar
sinnvolle "Produkte" von Vektoren (die bekanntesten beiden sind das
Skalar- und das Vektorprodukt), aber - und darauf kommt es an - keine
darauf aufbauende, zu der obigen analoge Gleichung mit eindeutig
bestimmter Lösung.
Dein Vorschlag mit "Kehrwert aller Einträge" hört sich zwar schlüssig
an, aber es gäbe für einen derart definierten "Kehrwertvektor" nirgendwo
in der Mathematik eine Verwendung, weil es keine sinnvolle Operation
gibt, die aus dem Vektor (a, b, c) und dem Vektor (1/a, 1/b, 1/c)
irgendetwas Eins-artiges durch Multiplikation bildet. Die willkürliche
Definition der entsprechenden Produktoperation gemäß
(a, b, c) * (f, g, h) := (a*f, b*g, c*h)
wäre formal zwar möglich, aber bedeutungslos - es gibt kein Problem, für
das man das gebrauchen könnte.
Also: Es gibt keinen Kehrwert eines Vektors und man benötigt auch
niemals einen solchen.
> (a, b, c) * (f, g, h) := (a*f, b*g, c*h) > > wäre formal zwar möglich, aber bedeutungslos - es gibt kein Problem, für > das man das gebrauchen könnte. Das kannst du nicht wissen. Vielleicht braucht man das ja doch irgendwann mal. In der Mathematik gibt es ja allen möglichen und unmögliche Kram, deren Nutzen erst viel später entdeckt wurde. > Also: Es gibt keinen Kehrwert eines Vektors Noch nicht, aber vielleicht wird ein findiger Mathematiker irgendwann mal einen definieren. In der Mathematik gibt es ja allen möglichen und unmögliche Kram, deren Nutzen erst viel später Entdeckt wurde. > und man benötigt auch niemals einen solchen. Das kannst du nicht wissen. Vielleicht braucht man das ja doch irgendwann mal. In der Mathematik gibt es ja allen möglichen und unmögliche Kram, deren Nutzen erst viel später entdeckt wurde.
TOM wrote: > @Detlef > In der Hilfe steht viel drin, aber genau dieser Fall fehlt. nein, das steht drin. Vllt mal lesen !? gute Nacht Detlef
>> (a, b, c) * (f, g, h) := (a*f, b*g, c*h) >> >> wäre formal zwar möglich, aber bedeutungslos - es gibt kein Problem, für >> das man das gebrauchen könnte. >Vielleicht braucht man das ja doch irgendwann mal. Kaum, denn wie man sich schnell klarmachen kann, würde ein solcherart definierter Produktvektor nicht das von euklidischen Vektoren geforderte Transformationsverhalten unter Rotationen des Koordinatensystems (nämlich x' = D x mit D = Drehmatrix) erfüllen. Er wäre somit kein Element eines euklidischen Vektorraums, d. h. er wäre zum Spruch "Vektoren sind Pfeile mit bestimmter Richtung und Länge" nicht kompatibel (Kreuzproduktvektoren dagegen sind es, und auch das Skalarprodukt schöpft seine Bedeutung aus der Drehinvarianz). Was zum Geier sollte man mit so einer Bildung dann anfangen können? Du kannst Dir auch sicher sein, dass diese Konstruktion schon von etlichen schlauen Mathematikern durchdacht worden ist - ohne irgendwas Interessantes zutage zu fördern (ich wüsste es).
Elementweise Multiplikation von Vektoren braucht man in der Praxis ständig, z.B. in der Signalverarbeitung, 3D-Grafik, ...
Tatsächlich? Nun, ich sagte ja, dass man die Operation selbstverständlich definieren kann, und wenn das doch real zu was nutze ist, will ich nichts anderes behauptet haben... ;-) Von dem "Kehrwert eines Vektors" (gebildet durch elementweise Verkehrwertung) würde ich deshalb aber trotzdem nicht sprechen wollen. Danke für den Hinweis.
Also, ich habe nach der gleichen Frage gesucht, Tom. Die hier gelieferten Antworten helfen nicht wirklich weiter. Am nettesten sind dann immer die RTFM-Kommentare. Ja, es steht in der Hilfe "is the solution in the least squares sense to the under- or overdetermined system of equations" Die Frage ist aber, was es bedeutet und wie kann ich es verständlich aufschlüsseln? Im Anhang ein Skript, welches genau diesen Fall ausnutzt, dass man die kleinsten Quadrate (least squares) zurück bekommt (Zeile 155). Leider kann ich die Mathematik an dieser stelle nicht nachvollziehen, aber ich bin sicher, dass "/" respektive mrdivide() hier einige Operationen zusammen fasst. Im meinem Falle benötige ich das Verständnis dafür, weil ich es verbal beschreiben muss.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.