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

auswerten von daten mit m-file

 

xzw4gd
Forum-Newbie

Forum-Newbie


Beiträge: 4
Anmeldedatum: 25.06.07
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 22.08.2007, 13:36     Titel: auswerten von daten mit m-file
  Antworten mit Zitat      
Hallo erstmal.
Hab momentan so ein kleines Problemchen und würde mich über Hilfe freuen.
Ich hab mir Daten aus Messungen extrahiert und in verschiedene Vektoren geschrieben und dies zweck wiederverwendbarkeit in ein mat file geschrieben. Das Problem ist jetzt nur das ich gerne in einer Schleife die einzelnen Vektoren aufrufen würde und dann mit ihnen rechnen will.
z.B.:

for k= 1to 10
for i = 1 to 10
A(:,i)= a'k'dat-a'i'.dat
end
end

Wie man sieht ist das problem trivial, ich will die Vektoren die durchnummeriert sind ansprechen. Aber wie. Viell hat einer von euch ne idee.

Gruß Marcel
Private Nachricht senden Benutzer-Profile anzeigen


Bijick
Ehrenmitglied

Ehrenmitglied



Beiträge: 914
Anmeldedatum: 18.06.07
Wohnort: Nürnberg
Version: R2006b, R2008b
     Beitrag Verfasst am: 22.08.2007, 15:38     Titel: Vorschlag
  Antworten mit Zitat      
Hallo Marcel, leider weiß ich nicht genau, was Du meinst. Ich verstehe es so:

Du hast ein .mat-File mit den Vektoren a1 bis a10 und dem Namen vektoren.mat angelegt (nur so als Beispiel). Jetzt möchtest Du mit ihnen rechnen und die Vektoren in einer Schleife der Reihe nach abarbeiten. Ich würde nicht die Variablennamen zusammensetzen und mit eval auswerten (wie das geht, ist schon einige Male hier erklärt worden), sondern mir gleich eine Matrix aus den Vektoren basteln:

Code:

load vektoren.mat               %Angenommen, es sind Spaltenvektoren!
Matrix = [a1 a2 a3 a4 a5 a6 a7 a8 a9 a10];

for kk = 1:10
    for ii = 1:10
        A(:,ii) = Matrix(:,kk) - Matrix(:,ii);
    end
end
 


Matrix(:,kk) ist dann genau der Vektor ak. Wobei bei diesem speziellen Code die Daten in A immer wieder überschrieben werden, aber das soll ja wohl nur ein Beispiel sein. Laughing

Nur bei wesentlich mehr als 10 Vektoren würde ich andere Basteleien probieren.

Was ich nicht verstehe: Was möchtest Du mit a'k'dat ausdrücken? Wenn meine Antwort nicht passt, einfach weiterfragen. Herzliche Grüße

Bijick

P.S. Ein passenderer Titel wäre vielleicht "Durchnummerierte Vektoren ansprechen" oder "Durchnummerierte Vektoren in Schleife abarbeiten".
_________________

>> why
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
xzw4gd
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 4
Anmeldedatum: 25.06.07
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 22.08.2007, 19:16     Titel:
  Antworten mit Zitat      
Stimmt schon. Aber mir wäre am liebsten wenn man diese Auswerteprozedur für beliebig viele schreiben könnte. am liebsten wäre es mir wenn es mir, was einwnig aufwendiger ist, wenn matlab sich aus einem Ordner alle dat Dateien holt und aus diesen Dateien nur die 2 Spalte in einen Vektor a(i) schreiben würde und ich diese auswerten könnte. Hast du dafür viell auch ne idee?
fopen funct bei mir irgendwie nicht! er öffnet zwar den file aber zeigt statt einer 201x5 matrix nur eine 1x5 matrix.
Private Nachricht senden Benutzer-Profile anzeigen
 
Michaela
Forum-Century

Forum-Century


Beiträge: 239
Anmeldedatum: 12.07.07
Wohnort: ---
Version: bis 2007b
     Beitrag Verfasst am: 22.08.2007, 19:52     Titel:
  Antworten mit Zitat      
Also, evtl.kommst Du um eine eigene Einleseroutine mit dlmread oder notfalls txtread oder freadf nicht drumrum - wenn Du das öfters machst lohnt es sich aber.

zB so:

Code:
files = dir('*.dat');
for ii = 1:length(files)
a{ii} = load(files(ii).name)
end


Wie Du sehen kannst, habe ich die Daten in ein cell-array kopiert. Das hat den Vorteil, dass man sie einfach durchnummeriert ansprechen kann, aber die einzelnen Einträge verschiedenen gross sein können. Wenn Du stattdessen eine nxm Matrix wählst (wie von xzw4gd vorgeschlagen), bist Du darauf angewiesen dass alle Dateien gleich viele Einträge haben.

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