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

text Daten einlesen

 

Platin
Forum-Century

Forum-Century


Beiträge: 174
Anmeldedatum: 07.06.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 30.07.2010, 20:10     Titel: text Daten einlesen
  Antworten mit Zitat      
Hallo an Alle,

ich habe mehrer Textfiles(.txt) die alle identisch, wie eine Tabelle aufgebaut sind, also sozusagen in Matrix-form. in der 1.Zeile stehen viele Spezies, also: C CH2 Ch4 CO2 COH usw... In der ersten Spalte stehen konkrete Zahlenwerte, also 1.0 2.0 3.0 usw... Es handelt sich dabei um eine 720*40 Matrix.
Jetzt habe ich verschiedene Probleme:
1. wie kann ich die daten einlesen?
ich habe was mit load und textread und scanf usw gelesen. Was davon muss ich denn nehmen und wie geben ich den pfad der datei an, weil der dateiname allein reicht ja bestimmt nicht?
2. Ich möchte das matlab nur die spalten, also die spezies kopiert die nur CH im Namen zu stehen haben. also nicht CHO oder nur C oder nur H. CH2 oder CH3 sind die gewünschten Daten die ich möchte.
3. Ich habe ja gesagt das ich mehrere solcher Textfiles habe. Matlab soll das Prozedere also für jeden dieser Files durchführen. Letzendlich soll es mir einen Textfile ausgeben in dem alle diese kopierten Spalten stehen.
also so:
file1 file 2 file 3
CH2 CH3 CH4 usw... CH2 CH3 CH4 .... CH2 CH3 CH4 ...
1.0 ... ...
2.0 ... ...
3.0 ... ...
usw..
Wisst ihr wie man das machen kann ?
Ich bin ein Anfänger. ich weiß nicht mal wie man die Daten einlest wie ihr seht. aber ohne diese hilfe von Matlab kann ist es unmöglich die ganzen Daten die ich habe alle per Hand auszulesen.

Ich danke euch vielmals.
Private Nachricht senden Benutzer-Profile anzeigen


Napoleon
Forum-Anfänger

Forum-Anfänger


Beiträge: 41
Anmeldedatum: 22.07.10
Wohnort: Heidelberg
Version: ---
     Beitrag Verfasst am: 30.07.2010, 21:27     Titel:
  Antworten mit Zitat      
Hallo,
lade mal eine datei hoch.
oder nur die ersten zeilen damit man bissel experimentieren kann .

gruss
Private Nachricht senden Benutzer-Profile anzeigen
 
Platin
Themenstarter

Forum-Century

Forum-Century


Beiträge: 174
Anmeldedatum: 07.06.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 30.07.2010, 21:46     Titel:
  Antworten mit Zitat      
Hey danke für die schnelle Antwort.
Also ich habe die Strucktur mal in Excel dargestellt. So sieht das ganze aus, nur dass das alles eben nicht nur von -200 bis -190 oder so geht sondern eben noch weiter und auch mehr Spezies vorhanden sind.
Aber sone Dateien nur als .txt Daten habe ich identisch haufenweise da.
Nun ist wie beschrieben das Problem nur die CH-spezies rauszufiltern.
Ich habe vorhin noch nicht alles erläutert.
wenn ich dann also aus jeder soner Datei die CH-Spezies rausgefilter habe dann soll über aufsummiert werden. Also die summe der CH's für jeden File für jeden CAD. Ich habe das beides in angehangener mal gezeigt. als 1. schritt und 2. schritt.

Danke dir aber schon mal im vorraus

test.txt
 Beschreibung:

Download
 Dateiname:  test.txt
 Dateigröße:  515 Bytes
 Heruntergeladen:  385 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Fourier
Forum-Guru

Forum-Guru


Beiträge: 329
Anmeldedatum: 05.04.10
Wohnort: Karlsruhe
Version: 2009b
     Beitrag Verfasst am: 30.07.2010, 23:43     Titel:
  Antworten mit Zitat      
Hallo,

ich nehm an deine textdateien sind in einem Order "Neu ordner"...
es werden alle gelesen, und die erste Zeile weggelassen.
Code:

clear all
ordner='C:\Dokumente und Einstellungen\Besitzer\Desktop\Neuer Ordner';  % hier stehen deine dateien
list=dir([ordner,'/*txt']);                          
names={list.name};          % namen aller Dateien im Ordner

anzahl=length(names);
for ii=1:1:anzahl
    M(:,:,ii)=dlmread(fullfile(ordner,names{ii}),'',1,0);   % eine nach der anderen lesen
end
 


gruss
_________________

Ein schlechter General ist besser als zwei gute.
Private Nachricht senden Benutzer-Profile anzeigen
 
fr@gewurm

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 30.07.2010, 23:48     Titel:
  Antworten mit Zitat      
Hi Platin

um später dir die richtigen Daten aus deinen Dateien rauszusuchen kannst du dir den Befehl
Code:

anschauen.
Das sind reguläre Ausdrücke, im prinzip so eine art Filter.

mfg
 
Platin
Themenstarter

Forum-Century

Forum-Century


Beiträge: 174
Anmeldedatum: 07.06.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 31.07.2010, 12:16     Titel:
  Antworten mit Zitat      
hey ich danke euch beiden für eure schnelle Hilfe.

@ Furier
Ich habe alles so gemacht wie du es geschrieben hast.
Es kam keine Fehlermeldung, aber die Variable list soll doch eigentlich die Namen der txt-Dateien beinhalten, oder? dieser ist bei mir nämlich eine 0x1 Matrix die ich nicht öffnen kann.
names ist bei mir eine 0x0 Matrix.
Und wie ist denn die Schleife die du gebaut hast zu deuten? Was bedeutet denn zb das M ?

MfG

Zuletzt bearbeitet von Platin am 31.07.2010, 12:44, insgesamt einmal bearbeitet
Private Nachricht senden Benutzer-Profile anzeigen
 
Fourier
Forum-Guru

Forum-Guru


Beiträge: 329
Anmeldedatum: 05.04.10
Wohnort: Karlsruhe
Version: 2009b
     Beitrag Verfasst am: 31.07.2010, 12:35     Titel:
  Antworten mit Zitat      
Hi,

das ist schon mal gut dass es keine Fehlermeldung kam^^
tip mal dann M im command window und schau mal ob da werte drin sind,
oder entfene mal den semicolon
Code:

M(:,:,ii)=dlmread(fullfile(ordner,names{ii}),'',1,0)
 


ich hab gestern die aufgabe nicht richtig gelesen, das programm liest jetzt alle zahlen auch die nicht zu CH... gehören.
aber eins nach dem anderen.

gruss
_________________

Ein schlechter General ist besser als zwei gute.
Private Nachricht senden Benutzer-Profile anzeigen
 
Platin
Themenstarter

Forum-Century

Forum-Century


Beiträge: 174
Anmeldedatum: 07.06.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 31.07.2010, 12:50     Titel:
  Antworten mit Zitat      
Also ich habe es jetzt mal ohne Semikolon gemacht und M taucht als Variable nicht auf.
Es steht in der variablen liste :
names: 0x0
anzahl: 1x1
list:0x1
ordner:1x35

Ich habe meine obigen Eintrag verändert während dessen du schon deine neue antwot geschrieben hast ^^.
ich verstehe diese schleife noch nicht. Also was das M ist oder was ii bedeutet oder (;,;,ii) ?? nur fragezeichen in meinem kopf. kannst du mir auf die sprünge helfen?

Das kommt raus wenn ich den Befehl M(:,:,ii)=dlmread(fullfile(ordner,names{ii}),'',1,0) in die commandline eingebe:

error: unterminated string constant
parse error:
synthax error
M(:,:,ii)=dlmread(fullfile(ordner,names{ii}),'',1,0)

grüße

Zuletzt bearbeitet von Platin am 31.07.2010, 12:56, insgesamt einmal bearbeitet
Private Nachricht senden Benutzer-Profile anzeigen
 
Fourier
Forum-Guru

Forum-Guru


Beiträge: 329
Anmeldedatum: 05.04.10
Wohnort: Karlsruhe
Version: 2009b
     Beitrag Verfasst am: 31.07.2010, 12:54     Titel:
  Antworten mit Zitat      
hmmm

sind deine dateien alle in einem Ordner?, sind sie textdateien? xxx.txt?
das M ist eine 3 dimentionale Matrix wo deine daten gespeichert werden.

erste textdatei in M(:,:,1) zweite in M(:,:,2) usw...

gruss
_________________

Ein schlechter General ist besser als zwei gute.
Private Nachricht senden Benutzer-Profile anzeigen
 
Platin
Themenstarter

Forum-Century

Forum-Century


Beiträge: 174
Anmeldedatum: 07.06.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 31.07.2010, 12:57     Titel:
  Antworten mit Zitat      
achso, ok.
ja es befinden sich 2 textdateien da drinn.
muss ich dann die dateien vllt noch in den namen seperat .txt ranschreiben?
ja hat auch nicht gebracht, habe es gerade versucht. .-(

Grüße
Private Nachricht senden Benutzer-Profile anzeigen
 
Fourier
Forum-Guru

Forum-Guru


Beiträge: 329
Anmeldedatum: 05.04.10
Wohnort: Karlsruhe
Version: 2009b
     Beitrag Verfasst am: 31.07.2010, 13:04     Titel:
  Antworten mit Zitat      
Zitat:

muss ich dann die dateien vllt noch in den namen seperat .txt ranschreiben?


ich weiss nicht was du damit meinst :?:
also ich hab den code mit 2 dateien getestet hatte ich s.txt und t.txt genannt.

wie heissen die dateien bei dir?
_________________

Ein schlechter General ist besser als zwei gute.
Private Nachricht senden Benutzer-Profile anzeigen
 
Platin
Themenstarter

Forum-Century

Forum-Century


Beiträge: 174
Anmeldedatum: 07.06.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 31.07.2010, 13:16     Titel:
  Antworten mit Zitat      
test2.txt und test3.txt
Private Nachricht senden Benutzer-Profile anzeigen
 
Fourier
Forum-Guru

Forum-Guru


Beiträge: 329
Anmeldedatum: 05.04.10
Wohnort: Karlsruhe
Version: 2009b
     Beitrag Verfasst am: 31.07.2010, 13:18     Titel:
  Antworten mit Zitat      
ich weiss jetzt nicht woran es liegt, wenn die dateien nicht zu gross sind kannst du sie hochladen.

was ich noch sagen kann, guck mal ob der pfad stimmt.

@Harald du kannst ruhig Helfen und deine Meinung äussern Very Happy
_________________

Ein schlechter General ist besser als zwei gute.
Private Nachricht senden Benutzer-Profile anzeigen
 
Platin
Themenstarter

Forum-Century

Forum-Century


Beiträge: 174
Anmeldedatum: 07.06.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 31.07.2010, 13:30     Titel:
  Antworten mit Zitat      
ne sind nicht zu groß.
habe nur exemplarisch 2 dateien erstellt.

Grüße

test3.txt.txt
 Beschreibung:

Download
 Dateiname:  test3.txt.txt
 Dateigröße:  321 Bytes
 Heruntergeladen:  378 mal
test2.txt.txt
 Beschreibung:

Download
 Dateiname:  test2.txt.txt
 Dateigröße:  292 Bytes
 Heruntergeladen:  365 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Fourier
Forum-Guru

Forum-Guru


Beiträge: 329
Anmeldedatum: 05.04.10
Wohnort: Karlsruhe
Version: 2009b
     Beitrag Verfasst am: 31.07.2010, 13:52     Titel:
  Antworten mit Zitat      
mir fiel auf deine dateien heissen ....txt.txt weiss nicht warum hat aber bei mir trotzdem funktioniert, siehe bild.

test.JPG
 Beschreibung:

Download
 Dateiname:  test.JPG
 Dateigröße:  116.81 KB
 Heruntergeladen:  486 mal

_________________

Ein schlechter General ist besser als zwei gute.
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen

Gehe zu Seite 1, 2  Weiter

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.