|
|
Performanceverbesserung Matrizen mit Bedingung |
|
R0b1 |

Forum-Anfänger
|
 |
Beiträge: 34
|
 |
|
 |
Anmeldedatum: 11.01.13
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 07.10.2014, 07:40
Titel: Performanceverbesserung Matrizen mit Bedingung
|
 |
Hallo,
ich möchte gern meine Berechnungsgeschwindigkeit verbessern.
Ausgangssituation: 3 Matrizen á <double 450x450>
- M <450x450> --> soll so groß sein wie Msoll
- U <450x450> --> soll kleiner sein als Umax
- I <450x450> --> soll kleiner sein als Imax und gesucht ist das Minimum von I (inkl. der Ort in der Matrix, wo der Wert steht)
Hier mal meine bisherigen Vorschläge:
Option 1:
Option2:
Habt ihr schnellere Lösungen für mich?
Grüße
|
|
|
|
|
R0b1 |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 34
|
 |
|
 |
Anmeldedatum: 11.01.13
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 08.10.2014, 08:38
Titel:
|
 |
Zu kompliziert beschrieben oder einfach keine Idee?
|
|
|
Andreas Goser |

Forum-Meister
|
 |
Beiträge: 3.654
|
 |
|
 |
Anmeldedatum: 04.12.08
|
 |
|
 |
Wohnort: Ismaning
|
 |
|
 |
Version: 1.0
|
 |
|
|
 |
|
Verfasst am: 08.10.2014, 09:21
Titel:
|
 |
Ich denke es liegt hauptsächlich daran, dass der Code ohne Daten nicht ausführbar ist und deshalb zuviel geraten werden muss.
Ich habe mal folgendes Beispiel geschrieben:
Der Vergleich M>M_soll spuckt dann eine Matrix aus, die man natürlich auch weiter verarbeiten kann.
Andreas
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.499
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 08.10.2014, 09:32
Titel:
|
 |
Hallo,
wenn ich es richtig sehe, sollte folgendes für den ersten Block reichen:
Die von Andreas und mir vorgeschlagene Technik heißt logische Indizierung (logical indexing).
Je nachdem wie oft die Bedingung M == Msoll erfüllt ist, kann es sein, dass deine Option 1 sogar schneller ist, wenn du I_merker auf NaN vorbelegst und den else-Teil weglässt.
Grüße,
Harald
|
|
|
sara736 |

Forum-Newbie
|
 |
Beiträge: 1
|
 |
|
 |
Anmeldedatum: 09.10.14
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 09.10.2014, 08:51
Titel:
|
 |
|
|
R0b1 |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 34
|
 |
|
 |
Anmeldedatum: 11.01.13
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 09.10.2014, 10:40
Titel:
|
 |
Danke, die logische Indizierung kannte ich noch nicht.
War sehr hilfreich!
|
|
|
|
|
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.
|
|