|
|
Komplexe zahlen in einer Matrix |
|
T. Arnold |

Forum-Newbie
|
 |
Beiträge: 4
|
 |
|
 |
Anmeldedatum: 19.12.13
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 19.12.2013, 17:00
Titel: Komplexe zahlen in einer Matrix
|
 |
Hallo zusammen,
ich habe ein kleines Problem das denke ich einfach zu lösen ist aber leider habe ich bisher keie Lösung dafür gefunden.
Und zwar habe ich eine Matrix mit 1000x1000 Einträgen. Die Einträge sind komplexe Zahlen. Nun möchte ich auf den Realteil eines jeden Eintrags zugreifen, diesen ändern, bspw. auf 1 setzen, und dann wieder speichern.
Momentan hole ich mir den Real und den Imaginärteil eines jeden Eintrags aus der Grundmatrix und speichere diese in eine jeweils eine neue Matrix. Dann ändere ich den Realteil ab und füge anschließend beide Matritzen wieder zu einer Matrix zusammen. Das dauert leider sehr lange.
Gibt es eine schnellere Möglichkeit das zu lösen?
Vielen Dank für eure Hilfe.
Grüße
|
|
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 19.12.2013, 22:27
Titel: Re: Komplexe zahlen in einer Matrix
|
 |
Hallo T. Arnold,
Statt den Code mit Worten zu beschreiben, wäre es klarer, wenn Du ihn direkt zeigst. Dann ist es viel leichter einen Verbesserungsvorschlag zu machen.
Statt "sehr lange" und "schneller" benötigen wir absolute Angaben.
Gruß, Jan
|
|
|
T. Arnold |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 4
|
 |
|
 |
Anmeldedatum: 19.12.13
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 20.12.2013, 09:45
Titel:
|
 |
Hallo,
hier der Code mit dem ich das oben genannte bisher durchführe.
[EDITED, Jan, Bitte Code-Umgebung benutzen - Danke!]
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 20.12.2013, 11:58
Titel:
|
 |
Hallo,
probier mal (außerhalb der for-Schleife)
Grüße,
Harald
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 20.12.2013, 13:45
Titel:
|
 |
Hallo T. Arnold,
Natürlich könnte man Ausdrücke wie "1i * 2 * pi" zusammenfassen und so 2*6*1024*1024 = 12.6 Millionen Multiplikationen sparen. Aber im Vergleich zur teuren EXP-Berechnung wird dies nicht viel ausmachen.
Der Profiler kann Dir helfen, das Bottleneck in Deinem Code zu finden. Leider schaltet der zwar die Schleifen-Optimierung von Matlab aus, so dass die Ergebnisse verfälscht sind. Aber Du bekommst immerhin raus, was kritisch sein könnte und wo man mit TIC/TOC genauer nachsehen sollte.
Ich vermute, die Laufzeit wird eindeutig von EXP dominiert. Wenn das so ist, musst Du überlegen, ob Du die Anzahl dieser Berechnungen reduzieren kannst (so weit ich sehe nicht). Wenn das nicht möglich ist, ist die Parallelisierung (PARFOR) der einzige, aber bequeme, Ausweg.
Gruß, Jan
|
|
|
T. Arnold |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 4
|
 |
|
 |
Anmeldedatum: 19.12.13
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 21.12.2013, 13:39
Titel:
|
 |
Hallo Jan,
würde es denn etwas bringen wenn ich Sinus und Cosinuns statt dem Exponenten verwende oder sind diese auch so zeitauwändig? Nach Euler sollte das ja möglich sein.
Grüße
Thomas
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 21.12.2013, 22:23
Titel:
|
 |
Hallo T. Arnold,
Es ist wert dies zu probieren. Ein paar TIC/TOCs werden helden, die herauszufinden.
Gruß, Jan
|
|
|
T. Arnold |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 4
|
 |
|
 |
Anmeldedatum: 19.12.13
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 24.12.2013, 15:12
Titel:
|
 |
Hallo Jan,
danke für Antwort.
Leider bringt es nicht wirklich was mit sin und cos zu arbeiten.
Werde mir wohl etwas anderes überlegen müssen.
Grüße und schönes Fest euch allen
Thomas
|
|
|
|
|
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.
|
|