www.mikrocontroller.net

Forum: Offtopic Frage zu Matrizenoperation


Autor: TOM (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: rantanplan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du musst von B die inverse Matrix bilden.
Und dann eine Matrizenmultiplikation durchführen.

Autor: TOM (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Inverse ist aber nur für quadratische Matrizen definiert.

Autor: Daniel (x2) (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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?

Autor: Daniel (x2) (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Die Inverse ist aber nur für quadratische Matrizen definiert.

Übrigens gibt es für (fast) alles andere die Pseudoinverse.

Autor: AFAIK (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn man das multiplikativ inverse eines Vektors finden möchte, muss man 
die folgende Gleichung lösen:
Dann ist:

Autor: lolwut (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
dann kommt aber
C = 2.5
    2.5
raus

außerdem ist nach deiner definition das inverse nicht eindeutig

Autor: omgwtf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
man kann nich durch vektoren teilen!

nubs

Autor: AVRFan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>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.

Autor: Detlef _a (detlef_a)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Bobby (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe das so in Erinnerung:

Der Kehrwert eines reellen Vektors wird gebildet indem man
alle Einträge durch ihren Kehrwert ersetzt.

Autor: AVRFan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>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.

Autor: TOM (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Detlef
In der Hilfe steht viel drin, aber genau dieser Fall fehlt.

Autor: wer weiß (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> (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.

Autor: TOM (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
das hat mir jeztzt aber auch nicht weiter geholfen...

Autor: TomTom (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tja, das Leben ist hart.

Autor: Detlef _a (detlef_a)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
TOM wrote:
> @Detlef
> In der Hilfe steht viel drin, aber genau dieser Fall fehlt.

nein, das steht drin. Vllt mal lesen !?

gute Nacht
Detlef

Autor: AVRFan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>> (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).

Autor: Andreas Schwarz (andreas) (Admin) Benutzerseite Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Elementweise Multiplikation von Vektoren braucht man in der Praxis 
ständig, z.B. in der Signalverarbeitung, 3D-Grafik, ...

Autor: AVRFan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Jens (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
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, Yahoo oder Facebook? Keine Anmeldung erforderlich!
Mit Google-Account einloggen | Mit Yahoo-Account einloggen | Mit Facebook-Account einloggen
Noch kein Account? Hier anmelden.