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

In Zelle eingelesene Messdaten separat weiterverarbeiten

 

Fidibus
Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 09.05.12
Wohnort: München
Version: ---
     Beitrag Verfasst am: 14.05.2012, 15:41     Titel: In Zelle eingelesene Messdaten separat weiterverarbeiten
  Antworten mit Zitat      
Hallo Zusammen!

Mit der Hilfe von meinem selbst geschriebenen MatLab-Script ( siehe Code ) lese ich eine variierende Anzahl von *.log-Dateien ein. Ich suche mir also den richtigen Ordner aus und es werden automatisch alle *.log-Files eingelesen und in der Zelle C gespeichert.

Ein Log-File besteht aus 20 Spalten (feste Anzahl), von denen ich 5 Spalten herausfiltere ( Header) und eine variierende Anzahl von Zeilen ( ca. 200 ).

Das heißt, jede Zeile in der Zelle C repräsentiert eine Log-Datei.

Bsp:
bei 2 Log-Dateien enthält meine Zelle C 2 Zeilen und 15 Spalten.
An Position C(1,1) steht also 198x1 single
Also 198 einzelne Messungen eines Sensors, von denen es 15 Stk (=Spalten) gibt.

So mein Vorgehen ist es jetzt mit der Funktion cell2mat() diese Zelle in ein numerisches Array umzuwandeln um weitere Werte zu berechnen.
Ich brauche den Mittelwert und die Standardabweichung.

Mein Problem ist nun, dass ich die genannten Werte für jede Messung ( also für jede Zeile in der Zelle ) einzeln brauche - es aber bisher nur geschafft habe, den Mittelwert der ganzen Matrix A zu berechnen.

Meine Frage lautet demnach:

Wie schaffe ich es, dass mein Programm automatisch zu jeder log-Datei eine Zelle anlegt, daraus eine Matrix macht und ich mir daraus dann den Mittelwert und die Standardabweichung berechnen lassen kann.
Diese sollen dann später in einer weiteren Matrix abgespeichert werden.

Ich hoffe, ich habe mich klar und verständlich ausgedrückt.

Viele Grüße Fidibus

Code:
clear all;
clc;

directory = uigetdir('C:\Messdaten\')
n=size(ls(directory));

   for i=1:(n-3)
   str=strcat(directory,'\',num2str(i),'.log');  
   fid=fopen(str);
   
      if (fid==-1)
         disp('Error opening file');
      else
      % import 15 columns from the i.log-files above
      C(i,:)=textscan(fid,'%*s %f32 %f32 %f32 %*s %f32 %f32 %f32 %*s %f32 %f32 %f32 %*s %f32 %f32 %f32 %*s %f32 %f32 %f32','delimiter','\t');
      fclose(fid);
      end
      % convert cell C to a numeric array in order to calculate easier
      A=cell2mat(C);
end
Private Nachricht senden Benutzer-Profile anzeigen


moejoe

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.07.2012, 14:42     Titel: habe ein ähnliches Problem
  Antworten mit Zitat      
hi,

ich habe das selbe Problem.
Ich habe eine 500x2 zelle (jpg und name des jeweiligen bildes).

brauche nun von jedem bild den mittelwert und die std-abweichung.
bekomme es aber nicht hin. Embarassed

muss ich jetzt immer mit zellen arbeiten bzw. werde ich am ende dann 3 zellen haben?! Confused
also die orig. zelle, dann für den mittelwert eine neue 500x2 zelle und für die std-abweichung dann auch nochmal eine neue zelle?!

hoffe es kann jemand bei diesem problem weiterhelfen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 20.07.2012, 17:43     Titel: Re: habe ein ähnliches Problem
  Antworten mit Zitat      
Hallo moejoe,

Bitte post, was du bisher gemacht hast und erkläre, was du genau nicht hinbekommen hast. Was genau ist eine "Zelle" und was bedeutet "jpg und name"?
Du kannst die Endergebnisse Deiner Berechnungen so abspeichern, wie du gerne möchtest. Ob dies nun eine weiter Spalte im Cell-Array ist, oder 2 Spalten, oder was auch immer.

Gruß, Jan
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.