|
|
EVAL Funktion in parfor loop |
|
LordExcalibur |

Forum-Anfänger
|
 |
Beiträge: 39
|
 |
|
 |
Anmeldedatum: 08.05.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 19.09.2014, 17:49
Titel: EVAL Funktion in parfor loop
|
 |
Hallo,
ich habe eine String-Variable a in der der Name eines Struct Arrays steht.
Mit die eval Funktion nutze ich innerhalb einer parfor Schleife.
Bei Aufruf kommt die Meldung
Zitat: |
Error using eval
Transparency violation error.
See Parallel Computing Toolbox documentation about Transparency. |
Hat jemand einen Tipp wie ich das hinbekomme?
Viele Grüße
Sebastian
|
|
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.499
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 19.09.2014, 21:29
Titel:
|
 |
Hallo,
wo ist der Schleifenindex, und inwiefern ist die parfor-Schleife davon abhängig? So macht das jedenfalls wenig Sinn.
Versuchs mal mit
http://www.mathworks.de/products/pa.....-computing/tutorials.html
und den Vorschlägen unter "Deeper Insights into Using parfor".
Davon abgesehen würde ich generell versuchen, eval zu vermeiden.
Grüße,
Harald
|
|
|
LordExcalibur |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 39
|
 |
|
 |
Anmeldedatum: 08.05.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 20.09.2014, 09:09
Titel:
|
 |
Ich habe jetzt die Eingangsvariablen als Struct Array organisiert und konnte so die eval Funktion einsparen. Die Parfor Schleife läuft jetzt ohne Fehlermeldung an. Der Code ist unten dargestellt.
Die Schleife wird eine lange Zeit laufen. Ich schätze, dass pro Funktionsaufruf von vi ca. 60min benötigt werden.
Ich habe das ganze jetzt angestoßen mit 3 Workern. Während die parfor Schleife läuft kann ich im Workspace keine Änderung der Outputvariablen erkennen. Eigentlich müsste doch direkt nachdem der Aufruf von vi abgeschlossen ist in die Output Variablen U(i), a(i), abw(i) geschrieben werden, oder ist das bei parfor verschieden.
Ich möchte jetzt ungern warten bis die Schleife komplett durch ist und dann festellen, dass ich keine Outputs bekomme.
Bei den Outputs handelt es sich um 3-dimensionale Arrays die in den Struct Arrays abgelegt werden sollen.
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.499
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 20.09.2014, 09:48
Titel:
|
 |
Hallo,
bei parfor stehen die Ergebnisse erst zur Verfügung, wenn alles abgeschlossen ist. Eine Alternative, bei der du dir Zwischenergebnisse ansehen kannst, wäre Jobs und Tasks (createJob / createTask).
Grüße,
Harald
|
|
|
LordExcalibur |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 39
|
 |
|
 |
Anmeldedatum: 08.05.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 20.09.2014, 10:04
Titel:
|
 |
Ok. Vielen Dank. Dann lasse ich Matlab mal rechnen.
|
|
|
|
|
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.
|
|