WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

export in exel

 

noob
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 70
Anmeldedatum: 15.01.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 17.03.2008, 11:10     Titel: export in exel
  Antworten mit Zitat      
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
.
.
.

wir sind für jeden input dankbar Smile
Private Nachricht senden Benutzer-Profile anzeigen


nschlange
Ehrenmitglied

Ehrenmitglied



Beiträge: 1.318
Anmeldedatum: 06.09.07
Wohnort: NRW
Version: R2007b
     Beitrag Verfasst am: 17.03.2008, 12:23     Titel:
  Antworten mit Zitat      
Hi,

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.
_________________

Viele Grüße
nschlange

"Chuck Norris ejakuliert fluessigen Stahl!"
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
noob
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 70
Anmeldedatum: 15.01.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.03.2008, 11:15     Titel:
  Antworten mit Zitat      
hallo nschlange,

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:

clear all;
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 ;
if isequal(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
        if ischar(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
clear all;
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 ;
if isequal(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
            if ischar(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;
                %
               
                Aussen=round(length(find((x-x_).^2+(y-y_).^2>r1.^2)));
                Anteil_Aussen=Aussen/length(x)*100;
                %
                Grau=round(length(find((x-x_).^2+(y-y_).^2<=r1.^2)));
                Anteil_Grau=Grau/length(x)*100-Anteil_Innen;
                %plot mittelwert
                       
                %
                %Ordner erstellen
                path = strcat(pathname,filesep,'SOT_2d',filesep);
                %
                mkdir(path);
                %jpeg in ordner abspeichern
                A= [Anteil_Innen Anteil_Aussen Anteil_Grau]'
                if (lx==2000 & ly==2000)
                    title(name,'Interpreter','none');
                    print('-djpeg',[path name]);
                    save([path, name,'_proz.txt'], 'Anteil_Innen','Anteil_Aussen','Anteil_Grau', '-ascii');
                else
                    name=[name,'STURZ'];
                    title(name,'Interpreter','none');
                    print('-djpeg',[path name]);
                     save([path, name,'_proz_STURZ.txt'], 'Anteil_Innen','Anteil_Aussen','Anteil_Grau', '-ascii');
.
.
..
           
               
 
 


unser ziel ist es also pro person und messung, drei fft-werte und drei radius-werte ins exel zu speichern. (alles in ein exel sheet)

wir haben schon etwas experimentiert (mit xlswrite)
aber wir wissen vor allem nicht wie wir in ein bereits erstelltes exel-file daten hinzufügen.

danke schonmal im voraus!!
Private Nachricht senden Benutzer-Profile anzeigen
 
noob
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 70
Anmeldedatum: 15.01.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.03.2008, 10:37     Titel:
  Antworten mit Zitat      
gibt es keinen der erfahrung in diesem bereich hat? Sad

wir suchen eigentlich nur einer erweiterung von "xlswrite" um eine bereits erstellte exeltabelle nach belieben zu befüllen..
Private Nachricht senden Benutzer-Profile anzeigen
 
clem35
Forum-Anfänger

Forum-Anfänger


Beiträge: 18
Anmeldedatum: 23.01.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.03.2008, 12:57     Titel:
  Antworten mit Zitat      
was wollt ihr denn genau machen, dass hab ich nicht ganz verstanden?!

lg clemi
Private Nachricht senden Benutzer-Profile anzeigen
 
noob
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 70
Anmeldedatum: 15.01.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.03.2008, 13:08     Titel:
  Antworten mit Zitat      
also...

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

lg noobs
Private Nachricht senden Benutzer-Profile anzeigen
 
noob
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 70
Anmeldedatum: 15.01.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.03.2008, 15:25     Titel:
  Antworten mit Zitat      
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
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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 | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2024 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.