|
|
[Performance] Diagonale eines Matrixprodukts |
|
HP7289 |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 04.03.2013, 11:32
Titel: [Performance] Diagonale eines Matrixprodukts
|
 |
Hallo,
mir geht es hier um Effizienz im Code. Mathematisch gesehen habe ich folgendes:
und sind relle -Matrizen. Ich möchte nun einen Vektor haben, so dass , wobei die -te Spalte von bezeichnet. Es gilt also (jetzt in MATLAB-Notation):
Nun ist sehr groß. Ich habe nicht genug Speicher für . Dieser Ausdruck enthielte eh zu viele unnötige Berechnungen. Eine Schleife will ich auf jeden Fall vermeiden. Bis jetzt ist mir aber noch keine Lösung eingefallen, die nur mit MATLAB-Funktionen auskommt. Hat jemand eine Idee?
|
|
|
|
|
HP7289 |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 04.03.2013, 11:57
Titel:
|
 |
Manchmal sieht man den Wald vor lauter Bäumen nicht. Hab gerade festgestellt, dass
genau das macht. Hat sich also erledigt.
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 04.03.2013, 19:05
Titel:
|
 |
Hallo HP7289,
Im Allgemeinen ist A*B schneller als dot(A,B).
Und für A'*B wird oft nicht einmal die Transponierte explizit gebildet. Dazu muss dies in einer funktion stehen, damit Matlab's JIT-Accelerator dies ausnutzen kann.
Gruß, Jan
|
|
|
Gast |
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 04.09.2013, 12:46
Titel:
|
 |
die schnellste Lösung wäre:
v = sum(A.*B',2);
|
|
|
|
|
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.
|
|