Verfasst am: 17.03.2008, 10:10
Titel: export in exel
hallo zusammen,
unser projekt geht in die letzte runde und abschließend gibt es noch eine letzte aufgabe für uns. um die daten weiterverarbeiten zu können sollen sie nun in ein exelfile exportiert werden. wir haben uns schon mit dem befehl xlswrite beschäftigt wissen aber noch nicht wie wir den gesamten datenumfang am besten bearbeiten sollen.
die dateienstruktur sieht wie folgt aus:
im work-ordner haben wir einen ordner in dem zb 38 unterordner gespeichert sind. in jedem unterordner befinden sich 2 weitere ordner in denen eine bestimmte anzahl von files gespeichert sind. wir müssen, die in den files gespeicherten daten nun ins exel bekommen.
ziel ist ein exelfile dass ca so aussieht
messung1 messung2 ........
1
2
3
4
5
.
.
.
ich würde eine große Matrix zusammenbauen (soweit Speicher und
Geschwindigkeit das erlauben) und die dann mit xlswrite exportieren.
Sonst muss man mit den range-Angaben rumbasteln.
Um zu sagen wie man das macht müsste man wissen, was dieses
Messung1 Messung2 ... bedeutet und was die einzelnen 'files'
enthalten. Sind das je Messung einzelne Wiederholungen?
Ich hab jetzt den Gesamtkontext nicht mehr vor Augen, aber mir kommt
das Ganze recht umständlich vor, mit zig Dateien in zig Verzeichnissen.
Man sollte jetzt nicht noch ein Programm schreiben, welches diese ganzen
Dateien wieder sucht und öffnet, sondern vielleicht das Programm benutzen,
welches die Dateien erzeugt.
_________________
es wurden bei 40 personen mit kraftmesszellen messungen unter verschiedenen bedingungen (100 messungen pro person) durchgeführt. die verwendete software erstellt pro person ein txt file wo alle 100 messungen abgespeichert werden.
wir haben also einen ordner in dem 40 txt-files gespeichert sind. das erste programm erstellt pro person einen unterordner in dem aus dem dazugehörigen txt-file, 100 einzelne files erstellt werden, also pro messung eines.
der erste teil der analyse ist eine fft. hier sind auch die ersten werte die abgespeichert werden sollen und zwar die im m-file gespeicherten variablen: "low", "mid" und "high"
Code:
clearall;
clc;
%
dirname = uigetdir('','uebergeordneten Ordner auswählen'); % hier den Ordner auswählen, der die 40 Ordner beinhaltet
%
names = dir(fullfile(dirname,filesep,''));
%
for j = 3:numel(names)-1 ;
ifisequal(names(j).isdir,1);
pathname = [dirname filesep names(j).name];
files = dir(fullfile(pathname, filesep, '*.dat')) % für alle m-files die sich im ordner befinden for i=1:length(files) ;
load([pathname filesep files(i).name],'-ascii');
[pfad, name, ext, vers]=fileparts(files(i).name);
%Auswertung für alle SOT files ==> fft ifischar(name) & (name(1:3) == 'SOT') eval(['temp=',name]);
x=temp;
lx=length(x)
%
if(lx==2000)
n=length(x);
y=fft(x,n);
y(1)=[];
lele=length(y) ;
%power=abs(y(1:lele/40)).^2
%"Bandbreite" bestimmen
le=(1:lele/66.6);
power=abs(y(le));
%
psum =sum(power);
%
ppower= (power)./psum*100;
%
a=ppower(1:10);
low=round(sum(a));
b=ppower(11:20);
mid=round(sum(b));
c=ppower(21:59);
high=round(sum(c));
%ppower= (log10((power)./psum)).*10
%
frq=(le)/20;
%
stem(frq,ppower)
%
%Ordner erstellen
path = strcat(pathname,filesep,'SOT_FFT',filesep);
mkdir(path);
%jpeg in ordner abspeichern
print('-djpeg',[path name]);
save([path, name,'_spek.txt'], 'ppower', '-ascii');
save([path, name,'.m'], 'low','mid','high', '-ascii');
save([path, name,'_freq.dat'], 'frq', '-ascii');
.
.
.
der zweite teil betrachtet den schwerpunktsverlauf. hier sollen die werte:
"Anteil_innen", "Anteil_Außen" und "Anteil_grau" ins exel gespeichert werden. (Variable A)
Code:
% alles löschen clearall;
clc;
%
dirname = uigetdir('','uebergeordneten Ordner auswählen'); % hier den Ordner auswählen, der die 50 Ordner beinhaltet
%
names = dir(fullfile(dirname,filesep,''));
for j = 3:numel(names)-1 ;
ifisequal(names(j).isdir,1);
pathname = [dirname filesep names(j).name];
%
files = dir(fullfile(pathname, filesep, '*.dat')) % für alle m-files die sich im ordner befinden for i=1:length(files) ;
load([pathname filesep files(i).name],'-ascii');
[pfad, name, ext, vers]=fileparts(files(i).name);
%Auswertung für alle SOT-files ==> 2D-Plot ifischar(name) & (name(1:3) == 'SOT')
r = 0.3;
r1 = 0.5;
% prozentberechnung
Innen=round(length(find((x-x_).^2+(y-y_).^2<=r.^2)));
Anteil_Innen=Innen/length(x)*100;
%
wir haben ja bis jetzt den geposteten code... der funktioniert bis dato super. das problem ist, wir jetzt gewisse daten ins excel impotieren müssen/sollten.
den befehl xlswrite haben wir ja mittlerweile gefunden. nur das problem ist, dass wir ja im code die einzelnen messungen in eigene files abspeichern. dies machen wir über eine schleife. jetzt ist is für uns sehr schwierig, diese zeile mit xlswrite in die schleife einzubauen. unsere überlegung ist:
Code:
Exl=xlswrite('C:\Programme\MATLAB7\work\2d_Plot', A)
nach der variablen "A" sollte jetzt noch der bereich angegeben werden in welche spalten die variable geschrieben werden soll. wir würden uns wünschen dass jede messung nur in einem excel sheet geschrieben wird.
d.h. es darf das zuvor angelegte sheet also nicht überschrieben werden und in die spalte "A1" soll die erste messung und die spalte "A2" soll die zweite messung usw....
hat so etwas schon irgendwer versucht probiert
wir sind über jeden hinweis äußerst dankbar
Wir haben gerade gerätselt, ob so etwas überhaupt möglich ist?
Eine neue Idee wurde geboren, und zwar könnte man ja auch zuerst alles in ein .dat oder .txt oder.m- file schreiben, und dann erst alles in ein excel sheet. das müsste ja dann irgendwie gehn.
wir haben halt nur das problem, dass wir bis jetzt, wenn wir ein file angelegt haben, dieses nur einmal befüllt.
gibts eine möglichkeit, die gesammelten messdaten in ein einziges file zu bringen?
dann wäre nämlich unser problem gelöst
lg noobs
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.