Verfasst am: 18.05.2011, 22:06
Titel: Einlesen von Dateien- Auswerten und in Excelform bringen
Hallo liebe ForumUser,
Da ich gerade an meiner Bachelorthesis schreibe, brauche ich unbedingt einen Tipp aus euren Reihen.
Ich muss viele Dateien in Matlab einlesen, die zuvor von meinem Betreuer erstellt worden sind. Mein Stand ist:
-Ich kann die Dateien mit dlmread einlesen. und mit
liste=dir('*QMO*') der Reihe nach abarbeiten
-Ich bin soweit, dass ich die Umformungen in Matlab durchführen kann (einfache Mittelung einer Messwertereihe)
- Ich kann einen Vektor mit den errechneten Werten über eine Schleife aufbauen
Aber jetzt:
Wie kann ich nun eine Excel Tabelle erstellen, in der in der linken Spalte der jeweilige Dateiname steht und in der rechten der dazugehörige Wert.
Bisher habe ich jeden Einzelwert in eine eigene Datei mit dlmwrite geschrieben und per Hand(!) in Excel eingefügt.
liste=dir('*QMO*');
for i=1:length(liste);
name=liste(i).name;
namenteil=name(5:30);
datei=dlmread([liste(i).name],'\t',4,0);
qmo=datei(:,2);%Liest die 2. Spalte mit den QMO Werten ein ein.
flaeche=mean(qmo);
flaeche10D=mean(qmo(1:1033));
dateiliste(i)='namenteil' % <-Dieser Abschnitt funktioniert nicht ich wollte nun alle Vektoren zu einer Matrix zusammenfügen und in eine Datei schreiben.
flaecheliste(i,1)=flaeche
flaeche10Dliste(i,1)=flaeche10
end
Gesamt[dateiliste flaechenliste flaeche10Dliste]
end
in Rahmen eines wesentlich größeren projekts muss ich ebenfalls eine xls auslesen und beschreiben, zwischendurch natürlich die daten bearbeiten. In laufe der Zeit hab ich mitgekriegt das es sehr viele Befehle gibt mit der man xls beschreiben, sogar beinah nach belieben formatieren kann.
dann ist der inhalt der xls in form einer Matrix auf gespeichert, wo man dann die einzelnen cells aufrufen kann. Nehmen wir mal an, das es eine 3x3 Matrix ist und die willst den eintrag in der ersten zeile in der zweiten sspalte haben (in der xls also B1), dann kannst du diese mit:
anstatt der variablen kannst du natürlich auch ein string nehmen, auch die kann man variieren lassen. Um eine schleife da rüber zu legen muss man ein wenig tricksen.
Ich bin mal so frei und verrat dir das mal
in diesen beispiel würdest du dann A1 bis A23 mit deiner variablen vollschreiben.
sicher werden sich dann bei dir die werte ändern, dann musst du natürlich auch entsprechend - optimalerweise die gleiche - laufvariable rüber legen.
ein andere Variante eine existierende Datei zu beschreiben ist:
in diesen Beispiel wird eine variable in eine xls von A1 bis A23 eingefügt, anschließend gespeichert und geschlossen.
die Befehle hab ich irgendwann mal in den letzten Wochen - ich glaub sogar hier im forum - gefunden, ich fand die sehr hilfreich. Die Befehle auseinander nehmen und auf dein Problem anpassen musst du natürlich selbst ... meine Kenntnisse reichen leider auch nicht aus um dir alles im Detail zu erklären.
Die letzten Codes verwende ich zumindest in mein Projekt. Ich hoffe nur ich hab dir nciht zu wenig kopiert ...
Wenn du dich im Netz umschaust findest du noch ganz andere Sachen, z.b. einzelnen Zellen eine Farbe verpassen, Bilder einfügen, die Schrift anpassen und ähnliches.
Ich hoffe das hilft dir weiter.
Denk immer dran, viele Wege führen nach Rom, dies sind nur 2 Möglichkeiten eine xls zu schreiben.
Grüße,
Hurtz
_________________
"der Wolf,das Lamm ... auf der grünen Wiese ... HURTZ!"
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.