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
Themenstarter

Forum-Century

Forum-Century


Beiträge: 174
Anmeldedatum: 07.06.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 31.07.2010, 14:07     Titel:
  Antworten mit Zitat      
hmm sehr merkwürdig.
Aber wenn du sagst das es funzt muss ich bei mir nochmal vllt später in ruhe alles nochmal kontrollieren.

und wie ist es nun möglich das er lediglich die Daten einliest die in den Spalten stehen, welche lediglich CH enthalten ?
Anschließend möchte ich dann nämlich alle Werte die in den einzelnen zeilen stehen addieren. also so das ich wieder ein ähnlich aussehenden file habe, welcher aber nun in der ersten zeile nicht die spezies zu stehen hat, sondern File 1 File 2 File 3 .... und die einträge in der matrix sind nun die summe der CH's ?
ich hänge mal ein txt an zum gucken.

Grüße

test.txt
 Beschreibung:

Download
 Dateiname:  test.txt
 Dateigröße:  623 Bytes
 Heruntergeladen:  391 mal
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, 15:09     Titel:
  Antworten mit Zitat      
Verstehst du was ich machen will? also was ich mit der summenbildung meine?!
Ps. Bei deiner schleife steige ich noch nicht ganz durch. Was ich verstanden habe ist das mit dlmread er sich aus dem ordner C..Dokumente\...\names(1) die dementsprechenden einträge ziehen soll und dann sich das i erhöhen soll und er sich in der nächsten "Runde" wieder aus dem selben Ordner aber diesmal ....\names(2), also einem anderen File die dementsprechenden daten zieht. Aber warum eigentlich ii? und nicht nur i? Und wie wird denn i erhöht? müsste da am ende nicht noch ein i++ hin oder so ? Und ich verstehe nicht das M 3 Einträge hat? Für was stehen die 3 denn? und warum kann man da einfach nur ":" reinpacken?
und was genau ist eigentlich der unterschied zwischen den variablen name und list ?
Weiterhin ist mir unklar was dieses ' ',1,0 am Ende des Befehls zu bedeuten hat. ich weiß, ne menge fragen, aber ich will eben verstehen wie das so funktioniert um das später auch auf andere probleme anwenden zu können.

danke dir vielmals
Private Nachricht senden Benutzer-Profile anzeigen
 
Platin
Themenstarter

Forum-Century

Forum-Century


Beiträge: 174
Anmeldedatum: 07.06.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.08.2010, 11:53     Titel:
  Antworten mit Zitat      
kann mir keiner helfen?
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: 01.08.2010, 13:22     Titel:
  Antworten mit Zitat      
Hi,

ich verstehe schon was du mit summation meinst.aber erstmal soll es mit dem einlesen klappen, dann schaue wir weiter, jetzt zu deinen Fragen:

Zitat:

Aber warum eigentlich ii? und nicht nur i


warum denn nicht, was spricht gegen ii, das ist einfach eine laufvariable die kann ich nennen wie ich möchte. ausserdem man versucht i und j zu vermeiden, da sie eigentlich für komplexe zahlen reserviert sind.
Zitat:

Und wie wird denn i erhöht?

hier wird ii erhöht.
Code:

for ii=1:1:anzahl
 

for ii=start:step:ende
ii läuft von 1 bis anzahl und wird nach jedem durchlauf um 1 automatisch erhöht. schau mal nach unter:
Code:

Zitat:

Weiterhin ist mir unklar was dieses ' ',1,0 am Ende des Befehls zu bedeuten hat


'' heisst delimiter, es heisst in deinen textdateien sind deine daten duch leerzeichen getrennt. und die [1,0]: damit erste zeile übersprungen wird.
(zählung beginnt in diesem fall bei 0) also fang bei ersten (zeile) und bei 0.ten spalte. ich rate dir guck mal unter:
Code:

Zitat:

und was genau ist eigentlich der unterschied zwischen den variablen name und list


dir liefert eine strukture mit mehereren felder unter denen name der dateien, und nur die interessieren uns in diesem fall, und darauf greifen wir mit list.name.
Zitat:

Und ich verstehe nicht das M 3 Einträge hat

eine matrix X(3,3,2) würde heissten ich habe 2 hintereinandergelegten matrizen mit jeweils 3 reihen und 3 spalten.

wenn du in deiner aufgabe zum beispiel 200 dateien lesen willst, das wäre unklug für jeden eigene matrix M1(n,m) bis M200(n,m)zu definieren.
also greift man auf 3 dimentionale arrays.

es ist immer gut in der doc hilfe nach funktionen nachzuschauen die man nicht verstanden hat. dort wird immer am besten erklärt.

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: 01.08.2010, 17:55     Titel:
  Antworten mit Zitat      
ok danke dir.

ja ich sitze hier noch und versuche das er das einliest, tut er aber nicht.
weiß nicht woran das liegt.

mfg
Private Nachricht senden Benutzer-Profile anzeigen
 
Platin
Themenstarter

Forum-Century

Forum-Century


Beiträge: 174
Anmeldedatum: 07.06.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.08.2010, 19:01     Titel:
  Antworten mit Zitat      
es muss eigentlich daran liegen das er den file C:\... nicht erkennt, weil der nächste Befehl, also list schon nur eine 1x0 Matrix ist.
Also da muss eigentlich der Fehler liegen. Aber was kann man da falsch machen?

lg
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: 01.08.2010, 22:11     Titel:
  Antworten mit Zitat      
versuch mal nur:
Code:

list=dir(ordner);


und schau mal was is names steht.

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: 02.08.2010, 13:52     Titel:
  Antworten mit Zitat      
Hi,

schlechte Nachrichten!
Ich habe gerade entdeckt, das ich nicht alle txt Dateien in einem Ordner habe sondern das ich viele Ordner habe und in jedem Ordner liegen viele Ergebnisse, von denen ich lediglich diese eine txt datei benötige.

Das ist also so:
- Oberordner Ergebnisse, in welchem sich befindet:
1. -N-Unterordner
2.-ein paar weitere Dateien (nur weitere uninteressante txt's)
-In den einzelnen Unterordnern befinden sich:
die interessierende txt und ein paar andere daten.

Ich könnte also Matlab den Oberordner als Quelle angeben.Dann müsste Matlab in den Unterordner 1, sich die interessante Text-Datei ziehen, speichern und dann wieder zurück. Dann in den nächsten Ordner und dann wieder von vorne.
Sorry, ich habe das hier mit einem anderen Problem was ich zeitgleich behandle verwechselt.
Kannst du mir trotzdem helfen ?

lG
Private Nachricht senden Benutzer-Profile anzeigen
 
Platin
Themenstarter

Forum-Century

Forum-Century


Beiträge: 174
Anmeldedatum: 07.06.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 02.08.2010, 14:54     Titel:
  Antworten mit Zitat      
Ich habe erstmal versucht das matlab sich die einzelnen Ordnernamen zieht.
Aber das Problem ist jetzt das da ja noch weitere Dateien drin stehen und Matlab sich jetzt natürlich mit dem Befehl list alle zieht. Komischerweise sind die ersten beiden Einträge in list immer "." und ".." ???.
Irgendwie müsste ich die Punkte da wegbekommen und den befehl name spezifizieren, so das er sich nur die interessierenden ordner in name aufführt und nicht alles.
Dann denke ich müsste man wahrscheinlich ne schleife schreiben in der matlab in jeden ordner geht, txt in 3-D-Matrix speichert, wieder zurück usw, oder ?

Viele 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: 02.08.2010, 14:59     Titel:
  Antworten mit Zitat      
Hi, damit MATLAB nicht alle dateien zieht, und wegen diesen blöden punkten habe ich am anfang vorgeschlagen so zu machen:
Code:

list=dir([ordner,'/*txt']);
 


wenn das nicht funktioniert, dann weiss ich nicht mehr.
ich habs gerade gebraucht vor einigen minuten..

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: 02.08.2010, 15:09     Titel:
  Antworten mit Zitat      
hey danke für die schnelle antwort.
naja aber mein problem ist doch jetzt eigentlich ein anderes oder übersehen ich vllt was?
Matlab muss ja jetzt in Ordner 1 und sich txt datei 1 ziehen. Dann wieder zurück zum oberordner. Dann in Ordner 2 und sich txt datei 2 ziehen und wieder zurück....
das muss ich doch jetzt anders machen oder nicht?
Du hast bestimmt nicht gesehe das ich 2 Einträge verfasst aber, oder?
Über dem den du gelesen hast steht noch einer ^^...habe nun leider ein neues Problem.

lg
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen

Gehe zu Seite Zurück  1, 2

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.