Verfasst am: 16.06.2014, 10:13
Titel: Hilfe bei Schleifenerstellung
Hallo zusammen,
ich bin noch ein Anfänger in MATLAB, benötige aber dringend eine Schleife, die:
-> eine eigene Funktion mit Input einer *.dat Datei startet - Aufruf: mess=icm_mess('filename')
-> den daraus resultierenden MATLAB Workspace in dem selben Ordner der *.dat Dateien unter dem gleichen Namen wie die *.dat Datei als *.mat file abspeichert
-> mit der nächsten *.dat Datei in dem Ordner weitermacht
Alle bisherigen Ergenisse sind mehr oder weniger Zusammenstückelungen aus vorhanden Skripten, die bis jetzt teilweise funktionieren, aber sicher nicht gut programmiert sind. Deswegen suche ich hier Tipps für eine Neuerstellung.
Das Speichern der Datei hatt leider noch nie so 'dynamisch' wie gewünscht funktioniert. Hier wäre ich für kreative Vorschläge besonders dankbar!
Danke schonmal an jeden, der sich Gedanken zu meinem Problem macht!
a=1;
% Einlesen der Datenname while(a) [filename{a}, pathname{a}, filterindex] = uigetfile(... { '*.dat','All Files (*.*)'}, ...
'Wähle auszuwertende Tracks pro Fahrzeug', ...
'MultiSelect', 'on');
if filterindex == 0; a=-1; end% no additional file is selected
a=a+1;
end ifsize(filename,2)==1; if filename{1}==0; return; end; end% Falls keine Daten ausgewählt werden
% letztes Feld von Filename löschen, falls Daten ausgewählt wurden und umspeichern for i=1:size(filename,2)-1
filenamenew{i}=filename{i};
pathnamenew{i}=pathname{i};
end
filename=filenamenew;
pathname=pathnamenew;
clear filenamenew pathnamenew a filterindex;
% Auswertung der einzelnen Daten % Schleife über alle ausgewählten Datensätze (i_v=i vehicle) for i_v = 1:size(filename,2)
y = 1;
ifiscell(filename{i_v}) % Schleife über alle in einem Schritt ausgewählten Dateien (i_t=i track) for i_t= 1:size(filename{i_v},2)
AktFileName = fullfile(pathname{i_v},filename{i_v}{i_t});
mess=icm_mess(AktFileName,0,1,-1,0,0); % Einlesen in icm_mes
wäre aktuell der beste Versuch, der zum einen sicher nicht die optimale Herangehensweise darstellt und zum anderen nicht funktioniert (Speicherung der Variablen)
Danke für den Tipp, versuche es gleich mal umsetzen.
Bzgl 'funktioniert nicht' - in dieser Konfiguration läuft die Schleife soweit durch (keine Fehlermeldung) und er liest auch immer die unterschiedlichen Daten ein. ABER ob und falls ja, wo er die Daten mit diesem "save"Befehl ablegt ist die Frage - in den gängigen Verzeichnissen habe ich keine neuen Dateien gefunden. Deswegen vermute ich, dass hier bei der Speicherung etwas nicht funktioniert.
Und die Variante mit dem multi-select ist auch nur eine Behelfslösung gewesen - am liebsten wäre mir er würde automatisch alle *dat Dateien des Ordners auswerten.
Code gibt keinen Fehler aus - speichert die Datei aber vermutlich wieder unter *.dat ab.
Wie mache ich jetzt MATLAB klar, dass er die Endungen tauscht?
Oder bin ich hier mit FileRename in einer Sackgasse???
Danke für eure Hilfe!
Einstellungen und Berechtigungen
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
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.