Anzeige:
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 15 von 24

Thema: Problem - Matrix berechnen

  1. #1
    Registrierter Benutzer
    Registriert seit
    14.09.2006
    Beiträge
    22

    Problem - Matrix berechnen

    Ich hätt folgendes Problem, das eigentlich simpel aussieht, aber ich nicht damit zu Rande komme.

    Gegeben 2 Matrizen: G,X
    Gesucht Matrix Y

    Es gilt:
    Y*G = X*Y
    bzw umgeformt
    Y*G - X*Y = 0

    (es gibt auf jeden Fall mehrere Lösungen, zB ist die Nullmatrix eine Lösung,
    welche natürlich nicht gesucht ist)

    Wie lös ich sowas?
    Auf dem Papier alles kein Problem, man kann n^2 Gleichungen aufstellen und
    das LGS dann lösen. Aber welche Sprache kann mit unbelegten Variablen
    rechnen?

    (ich hoffe ich bin im richtigen Forum, wusste nicht, wo ich es reinstellen
    sollte.)

    Ich hoff jemand kann mir helfen, so langsam verzweifel ich.

    Joachim

  2. #2
    Registrierter Benutzer Avatar von bischi
    Registriert seit
    10.04.2003
    Beiträge
    4.828
    Variante Nr1: Numerisch
    Variante Nr2: Mit nem Mathematikprogramm (bspw. Matlab/Octave)

    MfG Bischi

    "There is an art, it says, or rather, a knack to flying. The knack lies in learning how to throw yourself at the ground and miss it" The hitchhiker's guide to the galaxy by Douglas Adams

    --> l2picfaq.pdf <-- www.n.ethz.ch/~dominikb/index.html LaTeX-Tutorial, LaTeX-Links, Java-Links,...

  3. #3
    Registrierter Benutzer
    Registriert seit
    21.06.1999
    Beiträge
    677
    Was suchst Du denn? Eine symbolische Lösung (geht nur von Hand oder mit kommerziellen Programmen wie Mathematica oder Maple) oder eine numerische Lösung (geht mit Scilab oder Octave).

  4. #4
    Registrierter Benutzer
    Registriert seit
    14.09.2006
    Beiträge
    22
    ok, danke, das wollte ich hören.

    ich war mir ziemlich sicher, dass dies so nicht geht, wollte es aber nochmals
    bestätigt haben. shit!

  5. #5
    Registrierter Benutzer
    Registriert seit
    25.12.2003
    Beiträge
    40
    Y*G - X*Y = 0
    Korrigier mich, aber daraus resultiert ein lineares Gleichungssystem mit n^2 unbekannten (die Koeffizienten von Y), oder?

    Das kannst Du dann einfach mit den üblichen Verfahren (gauss, jacobi, cg, sor, ...) lösen (einfach auch als Matrix / Array darstellen)
    Geändert von foobarflu (11-01-2007 um 16:32 Uhr)

  6. #6
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    Ja, das hat er ja im OP auch gesagt. Genau deswegen seh ich auch das Problem nicht so ganz. Mal abgesehen davon dass sich in manchen Fällen (fies, fies) unendlich viele mögliche Lösungen anschleichen, weil für die n^2 Koeffizienten nur n Gleichungen existieren.

    MfG Peschmä
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

  7. #7
    Registrierter Benutzer
    Registriert seit
    14.09.2006
    Beiträge
    22
    ja, von hand per LGS lösen ist ja kein problem.

    aber lass das mal ein programm machen... geschrieben in C o.ä.
    (ich muss ne andere müllsprahce benutzen, aber is ja dasselbe problem)

    mit matlab (o.ä.) ginge es, aber das kann ich in dem prog nicht benutzen...

  8. #8
    Registrierter Benutzer
    Registriert seit
    02.12.2002
    Ort
    Darmstadt
    Beiträge
    615
    LGS lösen? Wo ist denn das Problem?
    Seine Rätselhaftigkeit wird nur durch seine Macht übertroffen!

  9. #9
    Registrierter Benutzer
    Registriert seit
    14.09.2006
    Beiträge
    22
    äää steh ich völlig auf dem schlauch?


    dann sag mir mal wie du es in zB C lösen würdest, es tuts auch pseudocode.

  10. #10
    Registrierter Benutzer
    Registriert seit
    02.12.2002
    Ort
    Darmstadt
    Beiträge
    615
    Naja um LGS zu lösen gibt es eine Vielzahl von Algorithmen, eine Liste findest du z.B. hier:
    http://de.wikipedia.org/wiki/Liste_n...cher_Verfahren
    Pseudocode ist dort bei einigen vorhanden.
    Seine Rätselhaftigkeit wird nur durch seine Macht übertroffen!

  11. #11
    Registrierter Benutzer
    Registriert seit
    14.09.2006
    Beiträge
    22
    entweder ihr versteht nicht was ich meine, oder ich bin total blöde, aber
    es macht doch nen unterschied, ob ich das lösen will:
    http://www.jschittenhelm.de/pics/pic1.jpg
    was kein problem ist, (gauss o.ä.)

    oder ob ich dafür eine lösung suche:
    http://www.jschittenhelm.de/pics/pic2.jpg
    wobei man nicht nach der gesuchten Matrix auflösen kann.
    (conjugation-problem / inner automorphism problem)


    sorry für die paint stümperei, aber ging am schnellsten :-)
    Geändert von Donnerknall (12-01-2007 um 09:53 Uhr)

  12. #12
    Registrierter Benutzer
    Registriert seit
    25.12.2003
    Beiträge
    40
    Zitat Zitat von peschmae
    weil für die n^2 Koeffizienten nur n Gleichungen existieren.
    Redest Du nur von den Spezialfällen?
    In der Regel hast Du hast auch n^2 Gleichungen (vielleicht haben wir auch nur unterschiedliche Terminologie, z.B. ist Y eine 2x2 Matrix wäre n=2 bei mir)

    Donnerkeil: nimm dir ein 2x2 System mit
    Y = [y1 y2; y3 y4]
    X = [x1 x2; x3 x4]
    G = [g1 g2; g3 g4]
    und schreib Dir die Matrixprodukte hin.
    Code:
    Y * G = [y1*g1 + y2*g2   y1*g2 + y2*g4; 
             y3*g1 + y4*g2   y3*g2 + y4*g4]
    X * Y = [x1*y1 + x2*y3   x1*y2 + x2*y4;
             x3*y1 + x4*y3   x3*y2 + x4*y4]
    Die Dinger müssen komponentenweise übereinstimmen (in diesem Fall liefert das vier Gleichungen).
    Schreib es
    Y*G - X*Y = 0
    hin und schon hast Du ein homogenes lineares Gleichungssystem

  13. #13
    Registrierter Benutzer
    Registriert seit
    14.09.2006
    Beiträge
    22
    ja, das ist mir alles schon klar. so funzt das auf einem blatt wunderbar.
    aber prog das mal.

    die x_i sind bekannt, genau wie die g_i.
    die y_i natürlich nicht.

    so, und wie rechnest du jetzt mit den NICHTBELEGTEN variablen y_i?

    x1*y1 + x2*y3 = y1*g1 + y2*g3

    y_i sind unbekannt, nicht belegte variablen oder was auch immer.
    x_i und g_i sind gegebene zahlen.

    aber in ner normalen sprache kannst ja keine unbelegten variablen addieren,
    oder multiplizieren, was du ja bei x1*y1+x2*y3... machen müsstest!

  14. #14
    Registrierter Benutzer
    Registriert seit
    25.12.2003
    Beiträge
    40
    Zitat Zitat von Donnerknall Beitrag anzeigen
    ja, das ist mir alles schon klar. so funzt das auf einem blatt wunderbar.
    aber prog das mal.
    Das ist deshalb kein Problem, weil es sich als lineares Gleichungssystem A*y = b darstellen lässt. Wenn Du willst kannst Du es auch umformulieren zu
    A^-1 * b = y

    Damit stehen auf der linken Seite nur bekannte Sachen und Du hast einen Ausdruck für die rechte Seite. Ist allerdings die schlechteste Methode, ein Gleichungssystem zu lösen.

    Du brauchst nicht mit symbolischen Variablen arbeiten. Das ist dein Denkfehler. Welches y_i dazugehört ist durch die Position des Koeffizienten in der Matrix definiert.

    Oder hakt es daran, dass Du übersiehst, dass die Dinger jeweils komponentenweise 0 sein müssen?
    Spezifisch:
    (y1*g1 + y2*g2) - (x1*y1 + x2*y3) = 0
    => (g1 - x1)*y1 + g2*y2 + x2*y3 = 0
    Geändert von foobarflu (12-01-2007 um 14:38 Uhr)

  15. #15
    Registrierter Benutzer
    Registriert seit
    14.09.2006
    Beiträge
    22
    ok, mit dem risiko, dass ich mich jetzt als volldepp oute (sofern ich das nicht
    schon getan hab), wie kannst Du die Matrix-Gleichung

    YG=XY

    nach Y auflösen?
    geht doch nicht...sonst wär es billig und ich hätt hier nicht gefragt.

    wenn Du kurz Zeit hast, dann zeig mir mal für

    Y = [y11 y12; y21 y22];
    G = [2 0,0 1]
    X = [0 3,1 3]

    wie Du das löst. (rechne mod 5, ist aber nicht relevant)

    EDIT:
    ne, dass sie komponentenweise gleich respektive null sein müssen hakt es nicht.

    und

    es geht ja um nen allgemeinen fall, nicht vordefiniert für n=2...


    EDIT:
    häää wieso is der post doppelt drin, hab doch ändern geklickt.... naja... kann n mod den davor löschen... sorry!

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •