also erstmal ist - und _ bei deinen dateinamen anders. wenn das beim erstellen des minimalbeispiels passiert ist dann ist das so. andernfalls zihlte darauf bereits meine vorherige frage ab ob die dateien auch existieren. außerdem ist glaube ich 'txt' nicht die erwartet format angabe bei textread.. sihe dazu in der doc von textread
_________________
Okay jetzt bin ich endgültig verwirrt.
Baue ich eine Abfrage ein, ob die Datei existiert (zur Erinnerung, die Fehlermeldung hat besagt, dass sie das nicht tut), so gibt er keinen Fehler mehr aus. Das "else k" sollte mir zur Orientierung dienen, bis wohin die Schleife überhaupt läuft. Ich erhalte keine Ausgabe.
Habt ihr eine Idee was mit der Schleife nicht stimmt? Bitte um Ideen.
Code:
NDatei = 50; %Anzahl der Dateien
Ergebnis=zeros(1,NDatei);%Nullarray erzeugt
source='C:\Users\Praktikum\Documents\MATLAB\20140512-0013';
for k=1:NDatei
fileLocator=fullfile(source, sprintf('20140512_0013-%04d.csv',k)) ;
if ~exist(fileLocator, 'file'), continue ;
else
k
end
data=csvread(fileLocator, 'csv') ;
[pks,len]=findpeaks(data,'MINPEAKHEIGHT',2.0);
end
einfach die code testen und guck mal, ob es geht, habe ich deine txt file benutzt, die Zeichenen '-' und '_' sollen nicht vermischt werden. Warnungen wegen zu wenigen Dateien, doch ok.
Code:
NDatei = 4; %Anzahl der Dateien
% Ergebnis=zeros(1,NDatei);%Nullarray erzeugt % source='C:\Users\Praktikum\Documents\MATLAB\20140512-0013'; for k=1:NDatei
% fileLocator=fullfile(source, sprintf('20140512-0013_%03d.txt',k)) ; if ~exist(sprintf('20140512-0013_%03d.txt',k), 'file') errordlg('File not found','File Error');
break ;
end
data=importdata(sprintf('20140512-0013_%03d.txt',k)) ;
[pks,len]=findpeaks(data,'MINPEAKHEIGHT',2.0);
end
Das war ein Versehen in dem Minibeispiel. Ändert aber leider nichts daran, dass mein Programm nicht funktioniert. Funktioniert es denn bei euch (wenn '-' und '_' vertauscht sind)?
NDatei = 3; %Anzahl der Dateien
% NDatei = 4; %Error test for k=1:NDatei
if ~exist(sprintf('20140512-0013_%03d.csv',k), 'file') errordlg(['File ' num2str(k) ' does not exit'],'File Error');
break ;
end
data=importdata(sprintf('20140512-0013_%03d.csv',k)) ;
[pks,len]=findpeaks(data);
end
Ich danke dir! Das funktioniert! Wärst du noch so nett und beschreibst mir deine Gedanken dazu?
Ich probiere es später noch mit einer größeren Datenmenge aus.
hier, error window mit dem inhalt File + k + does not exist kommt, wenn das dokument nicht existiert.
Gruß, Ming
Tatat
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 26.05.2014, 11:27
Titel:
Hallöchen,
ich danke dir!
Ich hätte nur noch eine _sehr dumme_ Frage: Mit meinen eigenen Dateien gibt es ständig Probleme und er gibt mir immer den Fehler zurück, dass die Datei nicht existiert. Ich vermute schwer, dass es daran liegt, dass er im falschen Ordner sucht. Das Programm und die Dateien sind im gleichen Ordner, das scheint jedoch nicht zu genügen.
Hast du einen Tipp, wie ich den Suchordner umstellen kann, ohne einen Dateipfad in mein Programm einfügen zu müssen?
LG
normalerweise wenn das Programm und die Dateien im gleichen Ordner sind, ist eine Umstellung des Suchordneres nicht möglich.
mein Vorschlag wäre:
1) die Dateiname zunächst prüfen ('-' und '_')
2) für die Dateien, die Fehlermeldung haben, änderst du nur den Inhalt (Dateiname bleibt gleich) mit der code
jetzt guck mal, ob es noch Fehlermeldungen gibt, wenn nein, einfach dein csv Datei hochladen, wenn ja, das Problem liegt an deinem Programm, bitte das Programm hier posten.
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.