WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

M-Files in verschiedenen Verzeichnissen ausführen (Batch)

 

Mandel
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 57
Anmeldedatum: 30.09.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.06.2012, 10:23     Titel: M-Files in verschiedenen Verzeichnissen ausführen (Batch)
  Antworten mit Zitat      
Hallo zusammen ...

Folgendes Problem: Ich habe hier viele (!) Verzeichnisse, in welchen sich Messdaten befinden. Auf all diese Messdaten sollen einige Bearbeitungsschritte angewendet und die Ergebnisse in den jeweiligen Verzeichnissen abgelegt werden. Ich hab den Verarbeitungsablauf jetzt in einer M-Date zusammengestellt.

Es ergeben sich jetzt aber zwei Probleme. Da die Ergebnisse im gleichen Verzeichniss gespeichert werden sollen, in welchem die Daten liegen, muss ich die M-Datei doch auch dort ausführen, oder für jedes Verzeichnis individuell anpassen (unmöglich vom Zeitaufwand!) ?!
Also hab ich mir ne Batch-File geschrieben und die Ms erstmal in alle Verzeichnisse kopiert. Doch wie ruf ich die jetzt auf?

Ich hab mir einfach ne weitere M-File erstellt, in welchem ich für jedes Verzeichnis einen Eintrag folgender Art geschrieben hab:
Code:
run('E:\Ordner\Unterordner1\MFile.m');

Das ging fix, da mir eine Liste der Verzeichnisse vorliegt Wink
Problematisch an dieser Lösung ist, dass es offensichtlich Datensätze gibt, die kleinere Felher beinhalten, welche ich per Hand korrigieren müsste. Die M-File in den Unterordnern bricht mir dann mit nem Fehler ab. Was nicht schlimm wäre... Aber Die MFile, in welcher die Liste der MFiles aus den Unterordnern ist bricht mir dabei auch zusammen!
Sprich: Ist im zweiten Datensatz nen Fehler, werden die restlichen 998 gar nicht bearbeitet.

Wie könnte ich vorgehen?
Danke für eure Hilfe Smile

(Ich hoffe ich konnte mein Problem rüber bringen Very Happy )
Private Nachricht senden Benutzer-Profile anzeigen


flashpixx
Forum-Guru

Forum-Guru


Beiträge: 355
Anmeldedatum: 19.04.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.06.2012, 11:19     Titel: Re: M-Files in verschiedenen Verzeichnissen ausführen (Batc
  Antworten mit Zitat      
Mandel hat Folgendes geschrieben:

Es ergeben sich jetzt aber zwei Probleme. Da die Ergebnisse im gleichen Verzeichniss gespeichert werden sollen, in welchem die Daten liegen, muss ich die M-Datei doch auch dort ausführen, oder für jedes Verzeichnis individuell anpassen (unmöglich vom Zeitaufwand!) ?!
Also hab ich mir ne Batch-File geschrieben und die Ms erstmal in alle Verzeichnisse kopiert. Doch wie ruf ich die jetzt auf?


Nein das ist der falsche Ansatz. Du benötigst eine (!) M-Datei, die innerhalb des Matlab-Search-Path liegt und damit überall verwendet werden kann. Entweder wechselst Du nun in jedes Verzeichnis und rufst das M-File auf, wobei das aber sehr schlecht vom Design ist, da es dabei schnell zu Problemen kommen kann. Der richtige Ansatz ist folgender: Das M-File zu einer Funktion verändern, die als Parameter den Pfad bekommt. Wenn Das M-File aufgerufen wird, wird über den Parameter der Pfad, der verarbeitet werden soll, mitgegeben. Innerhalb der Funktion wird dann entsprechend in Abhängigkeit des Pfades alle Arbeiten mit den Daten durchgeführt.

Innerhalb der Funktion musst Du dann entsprechend auf Fehler reagieren, d.h. entweder musst Du explizit abhängig von Deinen Daten die Verarbeitung steuern oder entsprechend die Fehler mit http://www.mathworks.de/help/techdoc/ref/try.html abfangen
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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 | goMatlab RSS Button 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.