Verfasst am: 28.02.2013, 10:32
Titel: Probleme Mit Text dateien
Hallo Ich hab da ein kleines Problem,
Ich Muss aus einer Datei (.txt) Daten auslesen und verarbeiten.
Vlt. kann mir ja einer weiterhelfen.
Falls es das falsche Forum ist tut es mir leid bin neu hier...
Meine Datei Hat 7 Kopfzeilen wo jeweils nur die erste Spalte belegt ist
Danach Folgen:
1.Zeile mit den Namen (mehrere Spalten)
2. Zeile mit den Einheiten (mehrere Spalten)
und dann kommen sehr viele Zeilen mit Messwerten.
Da ich die Daten Manipuliere möchte ich das alles gerne in eine neue txt Datei speichern. Ich würde aber gerne die Zeile mit Namen und die mit den Einheiten behalten.
Ich weiß leider nicht wie ich die rein bekommen soll kann mir da jemand Helfen??
bin für alle Anregungen offen
und meine 2. Frage die aber nicht so wichtig ist. Matlab gibt mir den Hinweis das 4 Vektoren in Schleifen immer Größer werden. Nun ist es So das ich wie Üblich vor meiner Schleife einfach x=zeros[];setzen Wollte da hab ich den Fehler out of Memory bekommen. gibt es ne alternative??
dateien=uigetdir('',link); %Verzeichnis der Dateien durch eingabe des Benutzer bekommen
cd(dateien); %Dateien Auslesen
[stat,Text]=fileattrib('*.txt');
names={Text.Name}; %Die Namen der Dateien in eine "Tabelle" speichern wichtig für die Auswertung
x=1;
while(1)
File=names{x}; %Dateien einzeln nehmen
comma2point(File) %extra Funktion aus dem I-net gefischt und verändert Ersetzt die Kommas durch Punkte MATLAB braucht Punkte
Einlesen=dlmread(File,'\t',8,0); %Da die Dateien Einen Text Kopf und auch die Spalten Text enthalten und MATLAB nicht viel damit anfagen kann werden sie Rausgefilter (Nicht eingelesen)
Einlesen(:,6)=Einlesen(:,2).*Einlesen(:,3);
Einlesen(:,7)=Einlesen(:,4).*Einlesen(:,5);
y=2;
S1(1)=0; while(1)
S1(y)=(Einlesen(y,1)-Einlesen(y-1,1))*((Einlesen(y-1,6)+Einlesen(y,6))/2);
y=y+1;
if((y+1)>length(Einlesen(:,6))) ,break,end end
Sa(1)=0;
g=2;
while(1)
Sa(g)=Sa(g-1)+S1(g);
g=g+1;
if((g)>length(S1)) ,break,end end
S2(1)=0;
y=2;
while(1)
S2(y)=(Einlesen(y,1)-Einlesen(y-1,1))*((Einlesen(y-1,7)+Einlesen(y,7))/2);
y=y+1;
if((y+1)>length(Einlesen(:,6))) ,break,end end
Sb(1)=0;
g=2;
while(1)
Sb(g)=Sb(g-1)+S2(g);
g=g+1;
if((g)>length(S2)) ,break,end end
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.