|
|
|
ternärer operator wäre toll |
|
| Lloyd Blankfein |

Forum-Century
|
 |
Beiträge: 149
|
 |
|
 |
Anmeldedatum: 23.02.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 09.05.2012, 19:32
Titel: ternärer operator wäre toll
|
 |
Hallo,
Das würde ich gerne eleganter ausdrücken. Hier hatte ich die Idee obigen Code mittels eines ternären Operators zu vektorisieren. Leider unterstützt Matlab keine ternären Operatoren.
Wie könnte ich die if-Abfrage sonst vektorisieren?
Vielen Dank für eure Hilfe,
Lloyd
|
|
|
|
|
|
| Harald |

Forum-Meister
|
 |
Beiträge: 24.502
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 09.05.2012, 20:51
Titel:
|
 |
Hallo,
bis auf die schrecklich langen Variablennamen ist das doch im Grunde:
Nun gehe ich davon aus, dass du um das ganze noch eine for-Schleife über k hast, da "Vektorisieren" sonst wenig bringt. In dem Fall wäre das:
Grüße,
Harald
|
|
|
|
| Lloyd Blankfein |
Themenstarter

Forum-Century
|
 |
Beiträge: 149
|
 |
|
 |
Anmeldedatum: 23.02.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 10.05.2012, 07:58
Titel:
|
 |
Hallo Harald,
danke für deine Antwort. Ja das stimmt schon. Aber da dieser Code sehr oft aufgerufen wird suche ich nach einer Möglichkeit if-else-Anweisung durch einen schnelleren Codeblock zu ersetzen.
Gruß,
Philipp
|
|
|
|
| Harald |

Forum-Meister
|
 |
Beiträge: 24.502
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 10.05.2012, 08:23
Titel:
|
 |
Hallo,
ich habe es mit einer 100000x5-Matrix getestet und es braucht bei mir 0,0025 Sekunden. Das halte ich für sehr akzeptabel.
Wie du schon erkannt hast: diese ternären Operatoren gibt es in MATLAB nicht.
Grüße,
Harald
|
|
|
|
| Lloyd Blankfein |
Themenstarter

Forum-Century
|
 |
Beiträge: 149
|
 |
|
 |
Anmeldedatum: 23.02.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 10.05.2012, 08:26
Titel:
|
 |
OK, vielen Dank!
Gruß,
Lloyd
|
|
|
|
| Harald |

Forum-Meister
|
 |
Beiträge: 24.502
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 10.05.2012, 08:34
Titel:
|
 |
Hallo,
Anmerkung noch:
Wenn das ganze wirklich Performance-kritisch ist, könnte man sich auch überlegen, mit MATLAB Coder automatisiert C-Code aus dem MATLAB-Code erstellen zu lassen.
Grüße,
Harald
|
|
|
|
| Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 13.05.2012, 01:15
Titel:
|
 |
Hallo Lloyd Blankfein,
IF-ELSE ist kein Geschwindigkeits-Problem. Optimieren musst Du also an anderer Stelle.
Gruß, Jan
|
|
|
|
|
|
|
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.
|
|