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

Variablen aus vielen *.mat-Dateien auf Kriterien überprüfe

 

teutopixx
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 77
Anmeldedatum: 09.03.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.06.2011, 11:45     Titel: Variablen aus vielen *.mat-Dateien auf Kriterien überprüfe
  Antworten mit Zitat      
Hallo,

ich habe verschiedene Messwerte aufgenommen, die ich nun auf diverse Kriterien überprüfen möchte.
Mir fehlt allerdings ein wenig das Wissen zur Umsetzung.
a) Die Messdaten befinden sich z. B. als Vektor abgespeichert in einer *.mat Datei - nennen wir sie mal testdaten_xxx.mat, wobei xxx z. B. eine fortlaufende Nummer ist. Oder einfacher: Alle Dateien heißen zwar unterschiedliche, befinden sich aber in einem Verzeichnis und haben die Endung *.mat.
b) In dieser *.mat befinden sich mehrere Variablen, unter anderem auch die auszuwertenden Daten.
c) Meine Vorstellung ist, über inputdlg das Verzeichnis abzufragen und die Dateiendung vorzugeben. Da der Variablen-Name immer gleich bleibt, kann ich diesen fest vorgeben.
d) Die Daten müssen nun eingelesen werden, und mit einem Algorithmus bearbeitet werden, den ich schon fertig habe. Der Algorithmus soll seine Ergebnisse in der Variable x abspeichern.
e) Nun soll kontrolliert werden, ob die Werte, die in X stehen, einen gewissen Wert (den ich Vorgebe, z. B, auch vorher über inputdlg) überschreiten. Wenn dieses der Fall ist, soll dieses irgendwie dem Anwender bemerkbar gemacht werden - optimalster Weise nach Uberprüfung aller Dateien in einem Report.

An der Umsetzung scheitere ich nun an folgenden Dingen:
Wie lasse ich mehrere Dateien nacheinander immer durch dasselbe Programm/Skript laufen?
Wie könnte ich entweder während der Überprüfung einer Datei dem Benutzer ausgeben, dass die Variable X den Wert überschreitet oder dieses nach Durchlauf aller Dateien als eine Art Report ausgeben?
_________________

----
teutoPIXX
Private Nachricht senden Benutzer-Profile anzeigen


Titus
Forum-Meister

Forum-Meister


Beiträge: 871
Anmeldedatum: 19.07.07
Wohnort: Aachen
Version: ---
     Beitrag Verfasst am: 27.06.2011, 13:06     Titel:
  Antworten mit Zitat      
Hallo,

hier ein grobes Programm, wie es funktionieren müsste:
Code:

% frage Verzeichnis beim Benutzer an:
folder = uigetdir;
% alle .mat Dateien:
files = dir(fullfile(folder, '*.mat'));
% schleife über alle Dateien:
for i=1:length(files)
  % lese Datei in Struktur
  var = load(fullfile(folder, files(i).name));
 
  % mache irgendwas mit Daten: wenn die Variablen z.B. data heissen:
  x = vorhandenerAlgorithmus(var.data);

  % speichern: z.B. im gleichen Verzeichnis
  save(fullfile(folder, ['Result_' files(i).name]), 'x');
end
 


Hoffentlich hilft das für den Start ...

Titus
Private Nachricht senden Benutzer-Profile anzeigen
 
mawi
Forum-Century

Forum-Century


Beiträge: 106
Anmeldedatum: 14.04.11
Wohnort: Stuttgart
Version: ---
     Beitrag Verfasst am: 27.06.2011, 13:06     Titel:
  Antworten mit Zitat      
Hallo teutopixx

dein erstes Problem würde ich in etwa so umsetzen:

am Einfachsten wäre es wenn deine .mat-files so heissen würden:
testdaten_1.mat
testdaten_2.mat
...
...
testdaten_10.mat
...usw.

Code:

list = struct2cell(dir('testdaten*.mat'));
list = list(1,1:end);

for i=1:length(list)
    tempdaten = load(list{i});
    % Hier kann nun der Algorithmus abgearbeitet werden.
end
 

Zu 2)
vielleicht mit
Code:


Hoffe das hilft dir weiter
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.