|
|
Parallele for-Scheifen (parfor) geben kein Ergebnis zurück? |
|
dustin.kottonau |
Forum-Anfänger
|
|
Beiträge: 10
|
|
|
|
Anmeldedatum: 11.08.13
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 17.09.2013, 15:18
Titel: Parallele for-Scheifen (parfor) geben kein Ergebnis zurück?
|
|
Sehr geehrte Mitglieder,
die Berechnung der untenstehenden Scheife funktiert ohne Fehlermeldung, doch werden die Vektoren t2 und I2 nicht an den Workspace ausgegeben. Woran kann das liegen?
Im Moment durchläuft die Scheife 5000mal die gleiche Rechnung. Später soll damit Parameter Sweeping durchgeführt werden.
MfG
Dustin
|
|
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 17.09.2013, 15:25
Titel:
|
|
Hallo,
die Ergebnisse der 5000 Iterationen könnten ja unterschiedlich sein. MATLAB ist nicht klar, welche Ergebnisse nun am Ende zur Verfügung stehen sollen - die Ausführungsreihenfolge der Iterationen kann ja variieren.
Da du letztlich ohnehin die Ergebnisse aller Iterationen brauchen wirst, kannst du das z.B. so machen:
Grüße,
Harald
|
|
|
Winkow |
Moderator
|
|
Beiträge: 3.842
|
|
|
|
Anmeldedatum: 04.11.11
|
|
|
|
Wohnort: Dresden
|
|
|
|
Version: R2014a 2015a
|
|
|
|
|
|
Verfasst am: 17.09.2013, 16:31
Titel:
|
|
mal ne dumme frage aber was wird da überhaubt itteriert?
weder di2 noch der ode aufruf ändern sich in der schleife ?
für itterationen ist parfor doch sowieso nicht geeignet da ja jede schleife auf ergebnissen des vorhärigendurchlaufs beruhen.
_________________
richtig Fragen
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 17.09.2013, 21:26
Titel:
|
|
Hallo,
ein Tippfehler in meinem Beispiel. Es muss heißen:
@ Winkow: wenn beispielsweise s variiert wird, ist das so schon sinnvoll.
Grüße,
Harald
|
|
|
Winkow |
Moderator
|
|
Beiträge: 3.842
|
|
|
|
Anmeldedatum: 04.11.11
|
|
|
|
Wohnort: Dresden
|
|
|
|
Version: R2014a 2015a
|
|
|
|
|
|
Verfasst am: 18.09.2013, 01:46
Titel:
|
|
Zitat: |
wenn beispielsweise s variiert wird, ist das so schon sinnvoll. |
wird es doch aber im genannten beispiel nicht oder? und wenn s variiert wird ist es doch trotzdem keine Iteration oder?
_________________
richtig Fragen
|
|
|
dustin.kottonau |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 10
|
|
|
|
Anmeldedatum: 11.08.13
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 18.09.2013, 07:49
Titel: DGL-Solver gibt kein Array sondern Cell aus.
|
|
Vielen Dank Harald,
das Problem wurde dank dir gelöst.
Jetzt habe ich auch erkannt, dass der DGL-Solver(ode45) kein Array ausgibt sondern eine "cell-Datei".
MfG
Dustin
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 18.09.2013, 08:12
Titel:
|
|
|
|
|
Hallo,
@ Winkow:
Zitat: |
und wenn s variiert wird ist es doch trotzdem keine Iteration oder? |
Mir ist nicht klar, was du mit "keine Iteration" meinst. Generell lässt sich jedoch sagen: wenn man eine for-Schleife hat und die Iterationen (im Sinne von Ausführungen für bestimmte Werte des Schleifenindex) voneinander unabhängig sind, dann lässt sich das mit parfor parallelisieren.
@ dustin:
Zitat: |
Jetzt habe ich auch erkannt, dass der DGL-Solver(ode45) kein Array ausgibt sondern eine "cell-Datei". |
Das würde ich so nicht sagen. ode45 gibt im Standardaufruf den Zeitvektor und einen Vektor bzw. eine Matrix mit den Zuständen zu diesen Zeiten zurück.
Wenn man nun mehrere Aufrufe von ode45 in einer Schleife hat, muss man sich überlegen, wie man die Resultate dann organisiert. Bei einem Vektor stets gleicher Länge ist eine Matrix denkbar, bei einer Matrix stets gleicher Größe ist ein 3D-Array denkbar, in jeglichen Fällen (und das habe ich hier gemacht) kann man auch ein Cell-Array verwenden.
Grüße,
Harald
|
|
|
|
|
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 - 2024
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.
|
|