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

Stapelverarbeitung? Einlesen und Ausgeben der Exeldaten

 

KEH
Forum-Century

Forum-Century


Beiträge: 148
Anmeldedatum: 09.10.14
Wohnort: ---
Version: 2016b
     Beitrag Verfasst am: 19.01.2015, 10:58     Titel: Stapelverarbeitung? Einlesen und Ausgeben der Exeldaten
  Antworten mit Zitat      
Hallo Zusammen

Ich hab ein Programm das soweit funktioniert das es Daten einliest verarbeitet und in Exel raushaut
jetzt habe ich aber 200 Dateien die ich durch das Programm laufen lassen muss. Jemand eine Prickelnde Idee für mich nun mehr stilles Wasser =)

Ich bin Für alles dankbar

Gruß KEH
Private Nachricht senden Benutzer-Profile anzeigen


Andreas Goser
Forum-Meister

Forum-Meister


Beiträge: 3.654
Anmeldedatum: 04.12.08
Wohnort: Ismaning
Version: 1.0
     Beitrag Verfasst am: 19.01.2015, 11:02     Titel:
  Antworten mit Zitat      
es ist mir jetzt nicht klar, ob die Idee "Schleife programmieren" zu offensichtlich ist oder nicht.

Andreas
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
KEH
Themenstarter

Forum-Century

Forum-Century


Beiträge: 148
Anmeldedatum: 09.10.14
Wohnort: ---
Version: 2016b
     Beitrag Verfasst am: 19.01.2015, 11:19     Titel:
  Antworten mit Zitat      
Wenn du das etwas aus führen köntest wäre das gut =)

ich hab das Problem das ich nicht weis wie ich aus einem ordner nach einander die Sachen aus lesen kann und unter verschiedene namen (besser wäre natürlich alles in ein exel untereinander zuschreiben)

gibt es da ein Muster sowas wie

for i=1:200
Import=Import('filname(i)')
Berechnungen
Export in filname(i_exel)
end

Ich steh wohl auf dem schlauch
Private Nachricht senden Benutzer-Profile anzeigen
 
KEH
Themenstarter

Forum-Century

Forum-Century


Beiträge: 148
Anmeldedatum: 09.10.14
Wohnort: ---
Version: 2016b
     Beitrag Verfasst am: 19.01.2015, 11:25     Titel:
  Antworten mit Zitat      
hier mal der code der verarbeitet werden soll

Code:

%% Load
[Frame,AA_X,AA_Y,AA_Z,FPA_X,FPA_Y,FPA_Z,HA_X,HA_Y,HA_Z,KA_X,KA_Y,KA_Z,PA_X,PA_Y,PA_Z] = importSS('Stolperstudie.xlsx','Tabelle1',3,7164);
% [PA,Pert,PE] = importSS('Zuschnitt.xlsx','Tabelle1',...)

%% Perdubations ausschnitt
% Werte Aus Exel Tabellen
PA = 3000;    % Heelcontact Pert
PE = 4000;    % Heelcontakt after Pert
Frame=Frame(PA:PE);
KA_X_P=KA_X(PA:PE);
KA_Y_P=KA_Y(PA:PE);
KA_Z_P=KA_Z(PA:PE);
AA_X_P=AA_X(PA:PE);
AA_Y_P=AA_Y(PA:PE);
AA_Z_P=AA_Z(PA:PE);

%% Winkelgeschwindigkeit
% Konstanden
dt=1; % 1000Hz Aufnahme
t=length(Frame)-1;
KA_VX_P(1)=0;
KA_VY_P(1)=0;
KA_VZ_P(1)=0;
AA_VX_P(1)=0;
AA_VY_P(1)=0;
AA_VZ_P(1)=0;

% Berechnung
for i= 1:dt:t
    KA_VX_P(i+1)=(KA_X_P(i+1)-KA_X_P(i))*dt*1000; % *1000 für grad/sec
    KA_VY_P(i+1)=(KA_Y_P(i+1)-KA_Y_P(i))*dt*1000; % *1000 für grad/sec
    KA_VZ_P(i+1)=(KA_Z_P(i+1)-KA_Z_P(i))*dt*1000; % *1000 für grad/sec
    AA_VX_P(i+1)=(AA_X_P(i+1)-AA_X_P(i))*dt*1000; % *1000 für grad/sec
    AA_VY_P(i+1)=(AA_Y_P(i+1)-AA_Y_P(i))*dt*1000; % *1000 für grad/sec
    AA_VZ_P(i+1)=(AA_Z_P(i+1)-AA_Z_P(i))*dt*1000; % *1000 für grad/sec

end


%%
t = Frame;
WindowSize = 10;

[ KA_VX_F ] = mean_filter( KA_VX_P, WindowSize );
[ KA_VY_F ] = mean_filter( KA_VY_P, WindowSize );
[ KA_VZ_F ] = mean_filter( KA_VZ_P, WindowSize );
[ AA_VX_F ] = mean_filter( AA_VX_P, WindowSize );
[ AA_VY_F ] = mean_filter( AA_VY_P, WindowSize );
[ AA_VZ_F ] = mean_filter( AA_VZ_P, WindowSize );


% % Plots zum Test wie stark der Filter ist
% name_str = 'Fitertest';
% figure('Name',name_str,'NumberTitle','off')
% plot(t,ynoisy)
% hold on
% plot(t,Yfiltered,'r')
   
%% Ausgabe
% Maximale Winkeländerung
maxKA_X= max(KA_X_P);
minKA_X= min(KA_X_P);
dKA_X= maxKA_X - minKA_X;

maxKA_Y= max(KA_Y_P);
minKA_Y= min(KA_Y_P) ;
dKA_Y=

%und so weiter

%% Exel

filename = 'Stumbling_Study_Ausgabef.xlsx';
A = {'Gelenk','Komponente','max Winkel','min Winkel','Range Winkel','max Winkelgeschwindigkeit','min Winkelgeschwindigkeit','Range Winkelgeschwindigkeit' ;...
    'Kniewinkel', 'X', maxKA_X,minKA_X,dKA_X,maxKA_VX,minKA_VX,dKA_VX; ...
    'Kniewinkel', 'Y', maxKA_Y,minKA_Y,dKA_Y,maxKA_VY,minKA_VY,dKA_VY; ...
    'Kniewinkel', 'Z', maxKA_Z,minKA_Z,dKA_Z,maxKA_VZ,minKA_VZ,dKA_VZ; ...
    'Sprunggelenkswinkel', 'X', maxAA_X,minAA_X,dAA_X,maxAA_VX,minAA_VX,dAA_VX; ...
    'Sprunggelenkswinkel', 'Y', maxAA_Y,minAA_Y,dAA_Y,maxAA_VY,minAA_VY,dAA_VY; ...
    'Sprunggelenkswinkel', 'Z', maxAA_Z,minAA_Z,dAA_Z,maxAA_VZ,minAA_VZ,dAA_VZ};
    % nur knie und sprunggelenk max min und diff
sheet = 1;
xlRange = 'A1';
xlswrite(filename,A,sheet,xlRange)
 
Private Nachricht senden Benutzer-Profile anzeigen
 
Andreas Goser
Forum-Meister

Forum-Meister


Beiträge: 3.654
Anmeldedatum: 04.12.08
Wohnort: Ismaning
Version: 1.0
     Beitrag Verfasst am: 19.01.2015, 12:41     Titel:
  Antworten mit Zitat      
Ich würde den DIR Befehl ausführen und die Rückgabe (ist dann eine Cell Array wo die Dateinamen auch dabei sind) nutzen. Das gibt es hier im Forum einige Beispiele.

Andreas
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
KEH
Themenstarter

Forum-Century

Forum-Century


Beiträge: 148
Anmeldedatum: 09.10.14
Wohnort: ---
Version: 2016b
     Beitrag Verfasst am: 19.01.2015, 15:56     Titel:
  Antworten mit Zitat      
Hey OK habs mit der schleife hinbekommen stande doch auf dem schlauch

Lösung ist:
den Schleifenindex über num2str an den Namen der Daten anzuhängen

Problem ist da das die Daten von n bis m durch nummeriert sein müssen ich versuch bei mir mal mit mehreren schleifen da ich mehrere zahlen variablen im Dateinamen habe

mit dem DIR probiere ich aber nochmal aus

Vielen Dank
Private Nachricht senden Benutzer-Profile anzeigen
 
KEH
Themenstarter

Forum-Century

Forum-Century


Beiträge: 148
Anmeldedatum: 09.10.14
Wohnort: ---
Version: 2016b
     Beitrag Verfasst am: 26.01.2015, 11:25     Titel:
  Antworten mit Zitat      
Morgen

Ich brauch kurz einen ansatz
Ich wil daten Mit den namen "PS01_G_T12_P04" einlesen dabei sind ale enthaltende zahlen variabel. Ist die umsetzung Möglich?
danke Schon mal.

Code:
for PS = 1:1:43
    for T = 1:1:3
        for P = 4:1:8
            [x y z]=ImportData('...\Zugeschnittene_Daten\PS',[num2str(PS)],'_G_T',[num2str(T)],'_P',[num2str(PS)]',.txt',1,1,250000);

...


ich hab mal gekürzt da nur der inport interresiert.
Leider hab ich keine zeit mir was neues anzueignen da die daten her müssen daher wäre gut wenn das erst mal funktioniert. Für neues bin ich anschließend offen =D

Vielen Dank
KEH
Private Nachricht senden Benutzer-Profile anzeigen
 
KEH
Themenstarter

Forum-Century

Forum-Century


Beiträge: 148
Anmeldedatum: 09.10.14
Wohnort: ---
Version: 2016b
     Beitrag Verfasst am: 26.01.2015, 14:28     Titel:
  Antworten mit Zitat      
keiner eine idee?
oder einfache alternative?
so was wie
Code:
for i=1:'alle daten im ordner'
     % lies die matrix aus datei ein
     % verarbeite matrix
     % exel ausgabe
end
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.499
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 26.01.2015, 14:53     Titel:
  Antworten mit Zitat      
Hallo,

die einfache Alternative wäre der dir-Befehl.

Code:
files = dir('*.txt');
fnames = {files.name};
for I = 1:numel(fnames)
     currentFile = fnames{I};
     % lies die matrix aus datei ein
     % verarbeite matrix
     % Excel ausgabe
end


Grüße,
Harald

P.S.: bitte etwas Geduld. Man sollte mindestens 24 Stunden zu warten, bevor man sein Thema pusht.
http://www.gomatlab.de/der-kleine-gomatlab-de-knigge-t125.html
Private Nachricht senden Benutzer-Profile anzeigen
 
KEH
Themenstarter

Forum-Century

Forum-Century


Beiträge: 148
Anmeldedatum: 09.10.14
Wohnort: ---
Version: 2016b
     Beitrag Verfasst am: 26.01.2015, 14:57     Titel:
  Antworten mit Zitat      
Top
Die hab ich grade gefunden und getestet

ich hab jetzt ein Array mit meinen namen *Super*
Jetzt Ruf ich meine Import funktion auf nur wie bau ich den Namen an den Pfad?
fehelermeldung sagt zu viele Argumente.
Code:
for N = 3:31
    nameRank{N};
    nameWinkel{N};
            [X,Y,Z] = importRANK('C:\Users\Hannes Kaplick\Desktop\Stolper_Studie\Zugeschnittene_Daten\RANK_Marker' ,nameRank{N},1,6534);
            [RAA_X,RAA_Y,RAA_Z,RFPA_X,RFPA_Y,RFPA_Z,RHA_X,RHA_Y,RHA_Z,RKA_X,RKA_Y,RKA_Z,RPA_X,RPA_Y,RPA_Z] = importWinkel('C:\Users\Hannes Kaplick\Desktop\Stolper_Studie\Zugeschnittene_Daten\Winkel',nameWinkel{N},1, 6534);
 


kann mir einer helfen wie ich den pfad mit dem namen verknüpfe?
oder gibts da auch wieder ne tolle alternative?

gruß und habt dank
KEH
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.499
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 26.01.2015, 15:17     Titel:
  Antworten mit Zitat      
Hallo,

momentan sind das ja getrennte Strings. Strings zusammenfügen kannst du mit [ ], aber du solltest auch das Pfadtrennzeichen nicht vergessen.

Der Befehl fullfile macht das automatisch.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
KEH
Themenstarter

Forum-Century

Forum-Century


Beiträge: 148
Anmeldedatum: 09.10.14
Wohnort: ---
Version: 2016b
     Beitrag Verfasst am: 26.01.2015, 16:17     Titel:
  Antworten mit Zitat      
Ja du bist mein Retter :-*

Es Rattert =)
Eine Frage noch zum Thema Exel

Code:
filename = ['Werte_P0' num2str(N)];
A = {'Gelenk','Komponente','max Winkel','min Winkel','Range Winkel','max Winkelgeschwindigkeit','min Winkelgeschwindigkeit','Range Winkelgeschwindigkeit' ;...
    'Kniewinkel', 'X', maxKA_X,minKA_X,dKA_X,maxKA_VX,minKA_VX,dKA_VX; ...
    'Kniewinkel', 'Y', maxKA_Y,minKA_Y,dKA_Y,maxKA_VY,minKA_VY,dKA_VY; ...
    'Kniewinkel', 'Z', maxKA_Z,minKA_Z,dKA_Z,maxKA_VZ,minKA_VZ,dKA_VZ; ...
    'Sprunggelenkswinkel', 'X', maxAA_X,minAA_X,dAA_X,maxAA_VX,minAA_VX,dAA_VX; ...
    'Sprunggelenkswinkel', 'Y', maxAA_Y,minAA_Y,dAA_Y,maxAA_VY,minAA_VY,dAA_VY; ...
    'Sprunggelenkswinkel', 'Z', maxAA_Z,minAA_Z,dAA_Z,maxAA_VZ,minAA_VZ,dAA_VZ};
    % nur knie und sprunggelenk max min und diff
sheet = 1;
xlRange = 'A1';
xlswrite(filename,A,sheet,xlRange)


Funktioniert super aber
Da es in der Schleife läuft entstehen n Tabellen. Geht das auch in Eine exel Tabelle werfen?
so das ich oben max min und delta stehen hab und runter zu Datei 1 bis n und beim einfügen einfach immer 5 zeilen runterrutsche?
Private Nachricht senden Benutzer-Profile anzeigen
 
KEH
Themenstarter

Forum-Century

Forum-Century


Beiträge: 148
Anmeldedatum: 09.10.14
Wohnort: ---
Version: 2016b
     Beitrag Verfasst am: 26.01.2015, 16:48     Titel:
  Antworten mit Zitat      
schon gelöst,

Thema beendet
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 - 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.