|
|
|
for Schleife durch Vektoroperation ersetzen |
|
| Jigga |

Forum-Newbie
|
 |
Beiträge: 4
|
 |
|
 |
Anmeldedatum: 15.04.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 15.04.2012, 18:49
Titel: for Schleife durch Vektoroperation ersetzen
|
 |
Hallo, ich würde gerne wissen ob ich hier komplett ohne for-Schleife arbeiten kann:
Die Funktion soll einfach die Funktionswerte in y schreiben.
|
|
|
|
|
|
| Harald |

Forum-Meister
|
 |
Beiträge: 24.502
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 15.04.2012, 20:44
Titel:
|
 |
Hallo,
probiers mal damit:
Grüße,
Harald
|
|
|
|
| Jigga |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 4
|
 |
|
 |
Anmeldedatum: 15.04.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 15.04.2012, 21:02
Titel:
|
 |
Danke für die Antwort.
Leider bekomme ich folgenden Fehler:
Die Dimensionen von t (z.B. t=-pi:pi) und k (z.B. k=5) stimmen nicht überein.
|
|
|
|
| Harald |

Forum-Meister
|
 |
Beiträge: 24.502
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 15.04.2012, 21:21
Titel:
|
 |
Hallo,
ganz ohne Schleife dürfte das dann schwierig werden. Es ginge zwar über meshgrid oder arrayfun, aber ich denke nicht, dass das viel Geschwindigkeit bringt.
Wenn du über die t iterierst, sollte es gehen.
Grüße,
Harald
|
|
|
|
| Jigga |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 4
|
 |
|
 |
Anmeldedatum: 15.04.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 15.04.2012, 21:27
Titel:
|
 |
Vielen Dank! Mit meshgrid hat es geklappt!
|
|
|
|
| Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 15.04.2012, 22:15
Titel: Re: for Schleife durch Vektoroperation ersetzen
|
 |
Hallo Jigga,
Hier schon mal eine Vereinfachung mit FOR-Schleife:
Das wiederholte erstellen des Vektors 1:N ist aber zeitraubend, wenn N groß ist, z.B. 1e6. Deshalb ist dies zwar hübscher, aber langsamer als das Orginal. Also:
Das ist schneller als das Orginal.
Nun kann man dies noch per BSXFUN schleifenfrei schreiben:
Dies ist für große N und t etwa doppelt so schnell wie die Schleife.
Zeitmessung:
Gruß, Jan
PS: In der MESHGRID-Version fehlt ein Faktor 2.
|
|
|
|
| Jigga |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 4
|
 |
|
 |
Anmeldedatum: 15.04.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 16.04.2012, 06:07
Titel:
|
 |
Vielen Dank für die ausführliche Antwort!
Werd ich mir wohl mal die bsxfun angucken müssen.
|
|
|
|
|
|
|
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.
|
|