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

Script in Unterordnern ausführen und dort Plot erstellen

 

Krawattenschal
Forum-Anfänger

Forum-Anfänger


Beiträge: 18
Anmeldedatum: 02.01.12
Wohnort: ---
Version: R2014b
     Beitrag Verfasst am: 09.09.2015, 09:31     Titel: Script in Unterordnern ausführen und dort Plot erstellen
  Antworten mit Zitat      
Hallo zusammen,

ich vermute mal, dass das Problem recht einfach zu lösen ist, nur weiß ich leider nicht wie Smile

Ich habe einen Ordner in dem sich viele Unterordner befinden, welche wirre zusammenhangslose Namen haben bspw. "Boxershorts, Knalltüte, Wuschelkopf" in jedem dieser Unterordner liegen 2 Excelfiles die immer gleich heißen (Auswertung, Threshold).
Aus den Daten dieser Excel-Files soll dann ein Plot erstellt werden. Die Plotfunktion ist fertig und funktioniert 1a.
Momentan muss dafür das m-File jedoch manuell für jeden Unterordner ausgeführt werden.
Ich hätte gerne eine Funktion, die vom Überordner ausgeführt wird und in jedem Unterordner die Exceldateien automatisch ausliest, den Plot erstellt und in dem Unterordner ablegt. Also mit einem klick alle Auswertungen gemacht werden Smile

Beste Grüße und vielen Dank
Private Nachricht senden Benutzer-Profile anzeigen


Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 09.09.2015, 10:29     Titel:
  Antworten mit Zitat      
guck mal im FEX nach irgendwas mit subdir. das gibt alle unterodner und dateinen zurück. das kann man dann mit fullfile abarbeiten. das würde ich jedenfalls versuchen.
grüße
_________________

richtig Fragen
Private Nachricht senden Benutzer-Profile anzeigen
 
Krawattenschal
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 18
Anmeldedatum: 02.01.12
Wohnort: ---
Version: R2014b
     Beitrag Verfasst am: 09.09.2015, 16:56     Titel:
  Antworten mit Zitat      
oh da muss ich mich also reinfuchsen, dachte da gäbe es ggfs einen einfachen Befehl.

Danke für den Hinweis, ich werde es bei Gelegenheit versuchen!
Private Nachricht senden Benutzer-Profile anzeigen
 
Krawattenschal
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 18
Anmeldedatum: 02.01.12
Wohnort: ---
Version: R2014b
     Beitrag Verfasst am: 09.09.2015, 21:19     Titel:
  Antworten mit Zitat      
Hallo,

habe im FEX Auto-process all files in sub-folders gefunden.
Scheint genau das zu tun was ich möchte.

Leider kenne ich mich mit Funktionen etc. gar nicht aus.
Wenn ich das richtig verstehe muss ich meine m-File dafür zu ner Funktion machen?

Das steht zur Erklärung in der Funktion mit dabei:
Code:
function PathRunner(base_dir , working_dir , function_to_run , display_filename , file_type , varargin)
%Scan folders and do job on each file
%
%syntax: PathRunner(base_dir , working_dir , function_to_run , display_filename , file_type , arg1, arg2, ...)
%example:
%   PathRunner('c:\' , 'input_folder', @my_fun, 1, {*.tif , '*.jpg'}, param1, param2)
%
%   base_dir:         parent directory
%   working_dir:      subfolder for this certain job
%   function_to_run:   the function to use on each file. this function must get dir_info as its 1st parameter
%                           example:   function func(file_info , arg1, arg2,...)
%   display_filename:   flag, if to display progress (optional)
%   file_type:         cell structure with the required file types. for example {'*.tif' , '*.jpg'}
%   arg1,...:         additional inputs for function (optional)
%
%   The function gets this file_info:
%      file_info.base_dir
%      file_info.working_dir
%      file_info.sub_dir
%      file_info.full_dir
%      file_info.filename
%      file_info.full_file
%
%
%File created by Yanai Ankri

So sieht ein Teil meiner Plotfunktion aus:

Code:
filename = 'Auswertung.xlsx';
Werte = xlsread(filename)  
x1=Werte(:,1);  
y1=Werte(:,2);  
Achsengrenze= max(x1)  

set(0, 'DefaultAxesFontName', 'Arial','DefaultAxesFontSize', 11);
gray=[0.4, 0.4, 0.4];
scatter(x1,y1,'x','MarkerEdgeColor',gray)
xlabel('Abstand [mm]');
ylabel('Geschwindigkeit [m/s]');
set(gca,'TickDir','out')
ordner = pwd;                  
idx=strfind(ordner,filesep);
name=fullfile(ordner,ordner(idx(end)+1:end))
saveas(gcf,name,'emf')


Ich habe es jetzt einfach mal versucht ne Function draus zu machen.
Code:
function Plot(file_info)
filename = 'Auswertung.xlsx';
Werte = xlsread(filename) usw. ......


Bekomme beim Ausführen von
"Pathrunner('D:\Eigene Dateien\Documents\MATLAB\', 'Skripttest', Plot, {*.xslx})"
immer nen Error
Was muss ich tun um das ans Laufen zu bringen?

Grüße
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 10.09.2015, 00:37     Titel:
  Antworten mit Zitat      
Hallo Krawattenschal,

Zitat:
Bekomme beim Ausführen von
"Pathrunner('D:\Eigene Dateien\Documents\MATLAB\', 'Skripttest', Plot, {*.xslx})"
immer nen Error

Bitte poste die vollständige Fehlermeldung und die dazugehörige Code-Zeile.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Krawattenschal
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 18
Anmeldedatum: 02.01.12
Wohnort: ---
Version: R2014b
     Beitrag Verfasst am: 10.09.2015, 10:15     Titel:
  Antworten mit Zitat      
Hi, da kommt nur
Error: Unexpected MATLAB operator.
Das Problem ist, dass nicht nicht weiß, was Pathrunner genau will bzw. wie ich einen einfachen Plot da einbinden soll/muss.
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.