|
|
Matrix Multiplikation mit komplexen Zahlen |
|
derheld2k1 |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 04.12.2009, 21:25
Titel: Matrix Multiplikation mit komplexen Zahlen
|
 |
Hallo,
Ich habe eine Anwendung in der eine MxM Matrix mit einem Mx1 Spaltenvektor multipliziert werden muss. Die Elemente der Matrix und des Vektors sind komplexwertig. Soweit ganz einfach.
Nun soll der Code aber später in C Implementiert werden, also kann man nicht mehr einfach mit komplexen Zahlen rechnen. Deshalb teile die die komplexen Zahlen und sämtliche Berechnungen in Real- und Imaginärteil auf.
Meine aktuelle Lösung funktioniert leider nicht, und ich suche bereits seit 2 Wochen vergeblich einen Lösungsansatz.
Der Fehler ist im Bereich von 10^-7, muss aber null werden.
Hat jemand eine Idee?
|
|
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 04.12.2009, 23:12
Titel:
|
 |
Hallo,
ich habe das nachprobiert, und komme auf mit
auf eine maximale Abweichung < 1e-14.
Solche Abweichungen sind bei Umformulierungen von nichts ungewöhnliches. Wenn ich es richtig sehe, ist das konkrete Problem hier: das eine Mal wird sum(a+bi) genommen, das andere Mal sum(a) + sum(b)*i.
Darf ich fragen, warum Abweichungen in dieser Größenordnung relevant sind?
Grüße,
Harald
|
|
|
derheld2k1 |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 05.12.2009, 12:57
Titel:
|
 |
Die Berechnung ist Teil des RLS Algorithmus der iterativ ist.
Der Fehler pflanzt sich also mit jeder Iteration fort, wird sehr groß und somit konvergiert der Algorithmus nicht mehr.
Zitat: |
das eine Mal wird sum(a+bi) genommen, das andere Mal sum(a) + sum(b)*i
|
Ich denke nicht dass es daran liegt, da die Berechnung mit Skalaren funktioniert.
Grüße
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 05.12.2009, 13:40
Titel:
|
 |
Hallo,
ob es nun an der Ordnung der Operationen liegt oder nicht, wird sich schwer belegen lassen.
Ich kenne natürlich deinen Algorithmus nicht, aber mir ist noch kein iterativer Algorithmus untergekommen, für den Abweichungen in dieser Größenordnung generell ein Problem sind.
Ich wüsste jedenfalls nicht, wie sich das beheben ließe. Vielleicht hat ja jemand anders eine Idee.
Grüße,
Harald
|
|
|
derheld2k1 |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 05.12.2009, 14:40
Titel:
|
 |
Trotzdem Danke für deine Hilfe,
ich habe mich anfangs auch gewundert dass so ein geringer Fehler den ganzen Algorithmus versaut. Aber nach ewiger Fehlersuche "steht fest" dass es an diesen "komplexen" Multiplikationen liegen muss.
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2025
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|