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

Dateinamen mehrerer .mats aus Workspace expierten

 

baer
Forum-Newbie

Forum-Newbie


Beiträge: 2
Anmeldedatum: 17.03.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 17.03.2017, 14:30     Titel: Dateinamen mehrerer .mats aus Workspace expierten
  Antworten mit Zitat      
Hallo miteinander,

ich habe einen Ordner mit derzeit 85 .mat-Dateien, die eine unterschiedliche Zahl von Variablen enthalten. Um mir einen Überblick über die Inhalte der Dateien zu verschaffen, möchte ich nur die Variablennamen ohne weiteren Inhalt aus allen Dateien in eine xlsx. exportieren. Das geht zwar auch von Hand, dauert aber natürlich ewig. Sprich, ich brauche ein Skript, dass die Dateien nacheinander einliest, die Variablennamen jeweils zu einem Vektor zusammenfügt und anschließend alle in eine xlsx. zeilenweise einspeichert.
Habt ihr einen Tipp für mich, mit welchen Funktionen ich das umsetzen kann? -ich wette, xlsxwrite hat was damit zu tun Wink

Schon mal herzlichen Dank!
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 17.03.2017, 15:07     Titel:
  Antworten mit Zitat      
Hallo,

matfile und fieldnames sollten helfen.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
baer
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 2
Anmeldedatum: 17.03.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.03.2017, 18:22     Titel:
  Antworten mit Zitat      
Hey,

vielen Dank für die fixe Antwort. Ich habe im Laufe des Vormittags mal rumgespielt und habe eine Lösung gefunden, die mich zumindest zufrieden stellt. Ein paar Knackpunkte hat der Code natürlich, aber für meine spezifische Anwendung reichts. Falls Interesse besteht:

Code:
%%Skript dient zum Exportieren der Variablennamen mehrerer .mat-Dateien in
%%eine xls (spaltenweise)

tic

%%Init
clc
clear all



files = uigetfile('.mat', 'Dateien wählen', dateipfad', 'MultiSelect', 'On');
VarCell = cell (10000:length(files));
for i=1:length(files)

load(char(files(:,i)));
filename = files(:,i);



    if isequal(filename,0) %%Abbruch ermoeglichen
        break;
    else

        %%Erstellen des Variablennamenvektors

        A=who;
        VarCell(2:length(A)+1,i) = A;
        filename = regexprep(filename,'.mat', ' ');
        VarCell(1,i) = cellstr(filename);

    end
   

clearvars -except 'VarCell' 'files';
end

%%Abspeichern der Variablennamen in xls
xlswrite('dateiname', VarCell);

toc
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 18.03.2017, 23:02     Titel:
  Antworten mit Zitat      
Hallo,

es ist unnötig, die Variablen zu laden, um zu erfahren, wie sie heißen. Das würde mit matfile vermieden.

Grüße,
Harald
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 - 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.