|
|
Schleifenproblem beim finden von peaks |
|
mora |

Forum-Anfänger
|
 |
Beiträge: 17
|
 |
|
 |
Anmeldedatum: 02.11.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 07.12.2012, 12:25
Titel: Schleifenproblem beim finden von peaks
|
 |
|
 |
|
moin leute,
ich habe mehrere mat-dateien. diese sollen nacheinander nach den zwei höchsten peaks durchsucht werden, woraus dann der mittelwert gebildet wird (das funktioniert). anschließend sollen diese werte fortlaufend in spalte A in eine excel geschrieben werden.
hier kommen zwei probleme auf. das eine ist, dass das schreiben der excel nur fehlerhaft funktioniert. das zweite, was bei mir auch viel mehr fragen aufwirft, dass für B(siehe code) viel mehr und zudem falsche werte eingelesen werden, die gar nicht in der entsprechenden datei vorkommen. ich weiß einfach nicht wo der fehler liegt und wo matlab diese werte hernimmt.
Code:
clc
clear all
Quellordner='Pfad';
A=dir(Quellordner);
files=(A.name)
for D=1:length(A);
% einlesen der Dateien
File= [Quellordner '\' A(D,1).name];
%Absolutwerte bilden
B=abs(File)
%Werte nach Größe ordnen
[sortedValues,sortIndex] = sort(B( ,'descend');
maxIndex = sortIndex(1:2); % Get a linear index into A of the 15 largest values
sortedValues = unique(B( ); % Unique sorted values
maxValues = sortedValues(end-1:end); % Get the 2 largest values
%maxIndex = ismember(A,maxValues); % Get a logical index of all values
% equal to the 5 largest values
%Mittelwert bilden
C=(sum(maxValues))/2
newData1 = C;
data=newData1;
clear newData1
clear B
%Tabelle anlegen
for i=1:1:numel(files)
xlswrite('Dateiname.xls', data, 1, ['A' num2str(i)]);
end
end
für B erhalte ich
B =
Columns 1 through 21
69 58 92 68 97 116 101 110 92 77 111 114 97 119 105 101 116 122 92 84 101
Columns 22 through 32
115 116 92 49 48 48 107 72 122 92 46
Eine beispieldatei ist angehängt.
Grüße
Mora
Beschreibung: |
.txt. liegt mit gleichem inhalt als mat vor |
|
 Download |
Dateiname: |
tv11.TXT |
Dateigröße: |
83 Bytes |
Heruntergeladen: |
305 mal |
|
|
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 07.12.2012, 12:29
Titel:
|
 |
|
|
mora |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 17
|
 |
|
 |
Anmeldedatum: 02.11.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 07.12.2012, 12:53
Titel:
|
 |
hallo harald,
habe es über load probiert
Fehler:
files =
.
??? Cell contents reference from a non-cell array object.
Error in ==> Auswertung_002 at 13
daten{i}=load(files{i});
>>
sollte das nicht eigentlich wie angegeben funktionieren?
die excel sieht wie folgt aus(siehe anhang).
ich werde es aber anders probieren.
also alle werte in eine matrix schreiben und diese dann gesammelt in die excel schreiben. meinst du das so?
vielen dank.
grüße
mora
Beschreibung: |
|
 Download |
Dateiname: |
Dateiname.xls |
Dateigröße: |
14 KB |
Heruntergeladen: |
287 mal |
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 07.12.2012, 14:58
Titel:
|
 |
Hallo,
kleiner Fehler im Code:
Zudem würde ich den dir-Befehl einschränken, z.B.
Grüße,
Harald
|
|
|
mora |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 17
|
 |
|
 |
Anmeldedatum: 02.11.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 07.12.2012, 16:28
Titel:
|
 |
hi,
danke für den tip, es hakt aber immernoch bei
files =
'tv11.TXT.mat' 'tv12.TXT.mat' 'tv13.TXT.mat'
??? Error using ==> load
Unable to read file tv11.TXT.mat: No such file or directory.
Error in ==> Auswertung_002 at 14
daten{i}=load(files{i});
grüße und schönes wochenende
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 07.12.2012, 16:32
Titel:
|
 |
Hallo,
mir ist auch nicht klar, wie diese merkwürdigen Dateinamen zustandekommen. Wenn du aber nach txt-Dateien suchen willst, musst du logischerweise das *.mat in *.txt umändern.
Wenn die Dateien nicht im momentanen Verzeichnis liegen, musst du zudem den Quellordner noch davor hängen (absoluter Pfad).
Grüße,
Harald
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 08.12.2012, 21:46
Titel:
|
 |
Hallo mora,
Ein "clear all" verschwendet Zeit, da es alle geladenen Funktionen aus dem Speicher löscht. Das Nachladen von der Festplatte ist ziemlich aufwändig. Ich habe noch nie einen Fall gesehen, in dem dies wirklich für irgendetwas nützlich war, denn eigentlich war immer nur ein "clear variables" gemeint. Das ist deulich Resourcen-schonender. Trotzdem trifft man "clear all" inflationär oft im Code an, den Leute im Forum posten. Wieso eigentlich? Hat das irgenjemand mal empfohlen? Und wenn ja, wer und wozu?
Nun enthält "files" die Namen der Files im Ordner "Pfad" - aber nur die Namen mit File-Extension, nicht aber den Ordner.
Dies sucht nun im gerade aktuellen Ordner nach diesem File. LOAD versucht schlau zu sein und wenn es ein File nicht findet, hängt es automatisch ".mat" an und sucht nochmal. Dann erzeugt es die Fehlermedlung, die Du siehst.
Besser:
Gruß, Jan
|
|
|
mora |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 17
|
 |
|
 |
Anmeldedatum: 02.11.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 10.12.2012, 15:15
Titel:
|
 |
hallo haradl, hallo jan,
danke für die antworten. muss momentan eine andere aufgabe erledigen und werde hier weitermachen sobald es geht und eure tips ausprobieren.
@harald: das ".TXT" ist teil des dateinamens und bei der formatierung zustande gekommen. es stört hier nicht, mit einzelnen dateien habe ich schon problemlos arbeiten können.
@jan: mir wurde das mal so beigebracht, dass es wohl besser sei, bzw. habe ich das auch so von diversen vorlagen übernommen ohne es zu hinterfragen. danke auch für diesen tip.
beste grüße
mora
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 10.12.2012, 18:30
Titel:
|
 |
Hallo mora,
Vielen Dank für die Rückmeldung zu "clear all". Das wurde nicht nur Dir, sondern sehr sehr vielen Matlab-Anfängern so beigebracht. Offenbar geben die dies dann wieder an die nächste Generation weiter. Aber nur weil es in so vielen Beipielen zu sehen ist, ist es noch lange nicht nützlich.
Ich vermute, die Matlab-Community hat damit schon Tonnen von CO2 sinnfrei in die Luft geblasen.
"clear all" ist ein merkwürdiges Phänomen.
Gruß, Jan
|
|
|
|
|
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
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| 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.
|
|