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

Definierte Daten aus mehreren .mat Dateien auslesen

 

Dirtking

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.11.2021, 14:26     Titel: Definierte Daten aus mehreren .mat Dateien auslesen
  Antworten mit Zitat      
Hallo zusammen,

Ich möchte eine Reihe von Messdaten im Dateiformat .mat auswerten.
Die Daten sind 1x10 structs. Ich möchte eine neue Datei erzeugen in der alle Daten aus Zeile 1 aller Messdaten enthalten sind.

Mit dem Zugriff auf die Daten mittels:

Code:

s.Dateiname(1).values
 


komme ich nicht weiter, da die Namen der Dateien sehr lang und nicht nummeriert sind.

Kann mir hier jemand evtl. weiterhelfen?

Grüße
Dirtking


Dirtking

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.11.2021, 14:32     Titel: Re: Definierte Daten aus mehreren .mat Dateien auslesen
  Antworten mit Zitat      
Dirtking hat Folgendes geschrieben:
Ich möchte eine neue Datei erzeugen in der alle Daten aus Zeile 1 aller Messdaten enthalten sind.
Dirtking


Etwas konkreter:
in Field1 steht neben der Bezeichnung noch eine Liste(?) von doubles, welche die eigentlichen Messdaten sind. Diese Daten möchte ich auslesen und in eine neue Datei schreiben.
 
Dirtking
Forum-Newbie

Forum-Newbie


Beiträge: 8
Anmeldedatum: 20.11.21
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.11.2021, 17:11     Titel:
  Antworten mit Zitat      
Mein Code sieht mittlerweile so aus:

Code:


liste = dir(fullfile('D:\Users\...','*.mat'));
files = {liste.name};
daten = cell(size(files));

for k=1:numel(files)
   
    s = load(fullfile('D:\Users\...',files{k}));
   
   
    X = struct2cell(s); %Datei in Cell umwandeln um besser auf benötigte Daten zugreifen zu können
    L = X{1,1}(1).values; % Speichern der Daten in 'L'
    V = X{1, 1}(3).values;
   
    Laengskraft = cat(2,Laengskraft,L); % Anhängen der neuen Daten an 'Laengskraft'
    Vertikalkraft = cat(2,Vertikalkraft,V);
end

 


Habe ich mir aus verschiedensten Foreneinträgen und der Matlab Doku zusammengebastelt.

Wenn ich den Code nun ausführe erscheint folgender Fehler:

Zitat:

Error using cat
Dimensions of arrays being concatenated are not
consistent.



Ich verstehe es so, dass nicht alle Arrays die gleiche Dimension besitzen.
Da es einige Daten sind die ich hiermit einlesen möchte habe ich mir nicht jede einzelne angesehen.
Gibt es eine Möglichkeit Arrays unterschiedlicher Dimension zusammenzufügen?

Vielen Dank im Voraus!

Grüße Dirtking
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 20.11.2021, 17:22     Titel:
  Antworten mit Zitat      
Hallo,

eine solche Möglichkeit sind Cell Arrays. Eines (daten) hast du ja schon vorbelegt. Befüllen mit:
Code:


Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
Dirtking
Forum-Newbie

Forum-Newbie


Beiträge: 8
Anmeldedatum: 20.11.21
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.12.2021, 12:50     Titel:
  Antworten mit Zitat      
Hallo Harald,

hatte ganz vergessen mich zu bedanken.
Es hat mit deinem Hinweis geklappt, vielen Dank!
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.