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

mehrere .mat files nacheinander einlesen

 

tipikosh
Forum-Anfänger

Forum-Anfänger


Beiträge: 10
Anmeldedatum: 10.05.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 31.10.2012, 14:28     Titel: mehrere .mat files nacheinander einlesen
  Antworten mit Zitat      
Hallo, ich bitte um Hilfe, ich komm nicht vorwärts.

Ich hab ein Ordner mit 100 .mat files, und möchte sie alle mit matlab eins nach dem anderen einlesen, ein parameter A in array speichern, dann schliessen.

mein code sieht so aus
Code:

path2img = 'C:\Users...'
ein      = dir(path2img)
ein      = {ein(~[ein.isdir]).name};

i=1;

for x=1:length(ein)
 
    a = importdata(ein{x});
   M=max(a.A);
   
end


ich konnte mit dem code alle daten in matlab laden, aber die wie kann sie nacheinander einlesen und den wert M in array speichern?
Besten Dank im Voraus
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


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

was wird M in jedem Durchlauf sein? Eine Zahl? Ein Vektor? Gleicher oder unterschiedlicher Länge?

Je nachdem bieten sich folgende Ansätze an:
Code:
M(x) = ... % elementweise belegen
M(x, :) = ... % zeilenweise belegen
M(:, x) = ... % spaltenweise belegen
M{x} = ... % als Cell Array
Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Anfang.Matlab

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.11.2013, 21:16     Titel: Hallo zusammen,
  Antworten mit Zitat      
ich habe ein ähnliches (oder sogar das gleiche) Problem, wie das hier beschriebene. Ich habe einen Ordner (mit dem Namen "Ordner1") mit bestimmter Anzahl von mat. files. In jedem mat.file ist eine Matrix mit 3 Spalten und unterschiedlicher Anzahl an Zeilen gespeichert. Ich muss alle mat. files, die sich im Ordner "Ordner1" befinden einlesen/importieren, wobei bei dem Einlesen/Importieren die eingelesenen files übereinander "gestappelt" werden sollen, so dass ich am Ende eine Submatrix C (in Form von einer einfachen array) habe, die alle einzelnenen Matrizen beinhaltet. Also die Submatrix wird wieder 3 Spalten und als Zeilen die Summe aller Zeilen der einzelnen Matrizen haben.
Probiert habe ich das mit dem hier im Forum angegebenen Code:
Code:

path2img='.\Ordner1'
ein = dir(path2img);
ein={ein(~[ein.isdir]).name}

for x=1:length(ein)
C(x,:)=importdata(ein{x})
end

Es kam leider die Fehlermeldung
Code:
Error using [u] importdata [/u] (line 136)
Unable to open file
Error in "filename" ([u]line 8[/u])
C(x,:)=importdata(ein{x})


Was mache ich hier falsch und gibt es vielleicht andere Möglichkeiten dieses Problem zu lösen.

Ich bedanke mich im voraus!

Viele Grüße
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 24.11.2013, 00:35     Titel:
  Antworten mit Zitat      
Hallo,

zum Einlesen von .mat-Dateien würde ich load verwenden.

Wenn du ausschließlich .mat-Dateien suchst, dann verwende doch
Code:
ein = dir('*.mat')

statt der nachträglichen Kopfstände mit isdir.

Zudem würde ich den vollen Pfad verwenden, also beim Einlesen dann etwas der Art
Code:
C{x} = load(fullfile('Ordner1', ein{x}))


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 - 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.