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

Daten einlesen und zuordnen

 

dasjoki
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 58
Anmeldedatum: 29.10.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.11.2015, 14:26     Titel: Daten einlesen und zuordnen
  Antworten mit Zitat      
Hallo,
hab ein Problem, welches für euch wahrscheinlich ein Klacks ist. Ich habe mit folgenden Zeilen mehrere Dateien erstellt und in jeweils zwei Spalten eine große Menge von Daten gespeichert:

Code:

for fi = 1 : 3
dat_in=fopen(['C:\Users\Administrator\Desktop\Messdaten\Probe',num2str(fi),'_messdaten_Original.txt'], 'w');
    fprintf(dat_in, '%i\t%g\n', [ctrans(:,1), data_original(:,1)]');
    fclose(dat_in);
end;
 


Nun will ich die Daten wieder auslesen und spaltenweise einer neuen Variablen zuordnen. So wie ich das mit nachfolgendem Code gemacht habe, bekommt nur die Variable pixel eine Zuordnung, dafür aber mit allen Daten beider Spalten. grauwerte bleibt leer.

Code:

for files = 1 : 3

dat_out=fopen(['C:\Users\Administrator\Desktop\Messdaten\Probe',num2str(files),'_messdaten_Original.txt'], 'r');
  while ~feof(dat_out)
      pixel = fscanf(dat_out, '%g');
      grauwerte = fscanf(dat_out, '%g');
  end
   
  fclose(dat_out);
 
end
 


Weiterhin sollen die Variablen wieder fortlaufend nummeriert werden, damit man die Zugehörigkeit nachvollziehen kann. Wie muss ich das 'files' einbringen, damit ich Variablen nach dem Schema pixel1, grauwerte1, pixel2, grauwerte2, ... bekomme?

Viele Grüße
Jojo
Private Nachricht senden Benutzer-Profile anzeigen


Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 11.11.2015, 18:35     Titel: Re: Daten einlesen und zuordnen
  Antworten mit Zitat      
Hallo dasjoki,

Am besten macht man das gar nicht. Indices in die Namen von Variablen zu schmuggeln funktioniert nur mit Verrenkungen, und diese Variablen später wieder zu verwenden ist noch verkorkster. Namen sind Namen, Indices sind Indices. Also:

Code:
Folder = 'C:\Users\Administrator\Desktop\Messdaten';
for files = 1 : 3
  dat_out = fopen(fullfile(Folder, sprintf('Probe%d_messdaten_Original.txt', files)), 'r');
  if dat_out == -1
    error('Cannot open file.');
  end

  k = 0;
  while ~feof(dat_out)
      k = k + 1;
      pixel{k} = fscanf(dat_out, '%g');
      grauwerte{k} = fscanf(dat_out, '%g');
  end  
  fclose(dat_out);
end

Gruß, Jan

Weiterhin sollen die Variablen wieder fortlaufend nummeriert werden, damit man die Zugehörigkeit nachvollziehen kann. Wie muss ich das 'files' einbringen, damit ich Variablen nach dem Schema pixel1, grauwerte1, pixel2, grauwerte2, ... bekomme?

Viele Grüße
Jojo[/quote]
Private Nachricht senden Benutzer-Profile anzeigen
 
dasjoki
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 58
Anmeldedatum: 29.10.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.11.2015, 18:47     Titel:
  Antworten mit Zitat      
Hallo Jan,
danke für deine Antwort. Ich hab es inzwischen so gelöst, dass ich die Daten in eine Matrix einlese:

Code:

for fr = 1 : 3

dat_out=fopen(['C:\Users\Administrator\Desktop\Messdaten\Probe', num2str(fr), '_messdaten_normierte_Filterung.txt'], 'r');
    read = fscanf(dat_out, '%f',[rows,columns]);
    fclose(dat_out);
end;
 


Danach kann ich die Reihen und Spalten noch den Variablen zuordnen. Klappt ganz gut.

Du hast vollkommen recht, was die Indizierung von Variablen angeht. Ich hab es probiert und teilweise auch hinbekommen aber es sieht sehr stümperhaft aus. Ich habe jetzt einfach alles, was ich mit den Variablen machen wollte, gleich in der Schleife erledigt. Das macht die Indizierung überflüssig.

Trotzdem Danke Smile
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.