|
|
Daten einlesen für bestimmte Spalten |
|
mathphys |
Themenstarter

Forum-Century
|
 |
Beiträge: 130
|
 |
|
 |
Anmeldedatum: 03.06.11
|
 |
|
 |
Wohnort: Deutschland
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 06.08.2011, 21:24
Titel:
|
 |
Oha, das klingt interessant. Das kannte ich nicht mit dem Debuggern. Ich werde mir das ansehen wie das geht.
Das Einlesen klappt nun. Vielen Dank euch allen Der Code ist (auch für Andere, die evtl. das Selbe Problem haben):
Ich würde aber gerne noch verstehen warum das jetzt klapt. Deine letzte Aussage Harald. Dieses ,1 in Data, bzw. "Einleseformat nur einmal anwenden". Was genau passiert da?
Meint "einmal", dass es nach der hier fünften Spalte endet, oder wie ist das zu verstehen?
strtrim habe ich in meinem MATLAB Lehrbuch (Das ist MATLAB kompakt) nachgelesen. Sehr cool, löscht mir die Leerzeichen vor und auch nach dem String. Kann man so sagen oder?
Grüsse
_________________
Besser ne Taube auf'm Dach als nen Stuhl inner Kiste
|
|
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 06.08.2011, 22:32
Titel:
|
 |
Hallo,
textscan versucht standardmäßig, das Leseformat wiederholt anzuwenden. Die 6. Spalte wird also quasi wie eine neue erste Spalte behandelt. Deswegen hattest du im Output auch "4 x 1" bzw. "3 x 1" stehen.
Übrigens lässt sich diese Info genauso wie die zum Verhalten von STRTRIM auch in der Doku finden
Grüße,
Harald
|
|
|
mathphys |
Themenstarter

Forum-Century
|
 |
Beiträge: 130
|
 |
|
 |
Anmeldedatum: 03.06.11
|
 |
|
 |
Wohnort: Deutschland
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 07.08.2011, 11:24
Titel:
|
 |
Okay, danke für diese Information
Zusammenfassend:
Wenn ich zukünftig z.B. die n.te Spalte auslesen will, dann muss ich für jede Spalte davor ein * setzen in textscan und den Datentyp, also z.B. %*f
Kann man das so sagen?
Gruß
_________________
Besser ne Taube auf'm Dach als nen Stuhl inner Kiste
|
|
|
Sco |

Forum-Meister
|
 |
Beiträge: 699
|
 |
|
 |
Anmeldedatum: 15.08.10
|
 |
|
 |
Wohnort: Dundee
|
 |
|
 |
Version: 2008a, 2010a
|
 |
|
|
 |
|
Verfasst am: 07.08.2011, 14:36
Titel:
|
 |
Hallo,
ja so ist es.
MFG
Sco
|
|
|
mathphys |
Themenstarter

Forum-Century
|
 |
Beiträge: 130
|
 |
|
 |
Anmeldedatum: 03.06.11
|
 |
|
 |
Wohnort: Deutschland
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 07.08.2011, 16:51
Titel:
|
 |
Jetzt ist etwas seltsames passiert. MATLAB hängt sich auf
Wenn ich den Code ausführen will, hängt sich MATLAB auf. Alles Tod, keine Fehlermeldung, ich muss das Beenden erzwingen.
Was geht das schief?
Ich habe die selbe Textdatei wie oben besprochen, doch will nun nur die sechste Spalte auslesen und die danach wieder ignorieren.
Vor allem wieso hängt sich MATLAB auf?
Gruß
_________________
Besser ne Taube auf'm Dach als nen Stuhl inner Kiste
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 07.08.2011, 17:09
Titel:
|
 |
Hallo,
wenn ich den Code exakt wie in diesem Beitrag ausführe, bekomme ich eine Fehlermeldung:
Sollte auch nicht verwundern, da l verwendet wird, bevor es definiert wird.
Wenn ich den Beitrag von gestern, 21:24 nehme und nur den Format-String anpasse, funktioniert es einwandfrei.
Ich vermute, dass sich irgendwo ein Fehler eingeschlichen hat.
Grüße,
Harald
|
|
|
mathphys |
Themenstarter

Forum-Century
|
 |
Beiträge: 130
|
 |
|
 |
Anmeldedatum: 03.06.11
|
 |
|
 |
Wohnort: Deutschland
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 07.08.2011, 17:23
Titel:
|
 |
Oh Gott klar, ich seh den Wald vor Bäumen schon nicht mehr
Danke dir.
Leider geht schon wieder etwas total schief. Der Code ist
Ein Fehler bekomme ich nicht, doch die Ausgabe ist
Die Spalte die ich einlesen will besteht aber aus 42 Zeilen, alle im Typ double.
Was ist falsch?
_________________
Besser ne Taube auf'm Dach als nen Stuhl inner Kiste
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 07.08.2011, 18:08
Titel:
|
 |
Hallo,
es würde helfen, die passende Datei dazu zu haben.
Hinweis auf einen Unterschied: vorher hattest du mit TEXTSCAN Zeilen verarbeitet, jetzt liest du direkt in der Datei.
Wenn die Datei mehr als 6 Spalten hat, musst du TEXTSCAN sagen, dass es in die nächste Spalte springen soll. Siehe "Example 4" in
Grüße,
Harald
P.S.: die meisten deiner speziell auf einen Befehl bezogenen Fragen lassen sich durch einen längeren Blick in die Doku beantworten.
P.P.S.: Verwende doch bitte den Debugger und den Workspace Browser. Durch Doppelklick auf eine Variable siehst du gut, was sie enthält, und das zeigt einem zumindest, was schief gegangen ist. Das "warum" ist dann oft nicht mehr weit.
|
|
|
mathphys |
Themenstarter

Forum-Century
|
 |
Beiträge: 130
|
 |
|
 |
Anmeldedatum: 03.06.11
|
 |
|
 |
Wohnort: Deutschland
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 07.08.2011, 18:19
Titel:
|
 |
Ich dachte man kann jede Spalte ausblenden mit dem Stern?
Was meinst du mit deinem Hinweis? Ich habe vorhin doch auch direkt in der Datei gelesen?
Das Beispiel in der doc habe ich angesehen.
Doch ich will ja nicht die erste, sondern die sechste Spalte.
Später will ich nur 7., 8., und 9. Spalte auslesen. Da funktioniert das doch nicht?
_________________
Besser ne Taube auf'm Dach als nen Stuhl inner Kiste
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 07.08.2011, 18:27
Titel:
|
 |
Hallo,
nein, du hast TEXTSCAN nicht direkt auf die Datei angewandt. Du hast mit FGETL zeilenweise aus der Datei gelesen, und diese Zeilen dann in TEXTSCAN gefüttert.
Du sollst ja nicht genau das Beispiel kopieren, sondern die entscheidende Anregung darauf ziehen; hier das
.
Wenn diese Anregung nicht hilft, bitte die verwendete Datei anhängen.
Wenn das Cell Array ausschließlich Doubles beinhaltet, kann es mit CELL2MAT in ein Double Array umgewandelt werden.
Grüße,
Harald
|
|
|
mathphys |
Themenstarter

Forum-Century
|
 |
Beiträge: 130
|
 |
|
 |
Anmeldedatum: 03.06.11
|
 |
|
 |
Wohnort: Deutschland
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 07.08.2011, 18:41
Titel:
|
 |
Oh Gott ich bin so ein Depp.
Jetzt sehe ich es. Es funktioniert jetzt. Ich habe auch drei Spalten einlesen können. Ich hatte Mist eingegeben; Bin überarbeitet.
Mein Code ist:
Danke für eure Geduld. Ich mache mal Pause und gehe etwas essen. Ich sitze seit sechs Uhr heute morgen an dem Mist
Grüsse
_________________
Besser ne Taube auf'm Dach als nen Stuhl inner Kiste
|
|
|
|
Gehe zu Seite Zurück 1, 2
|
Einstellungen und Berechtigungen
|
|
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
| 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.
|
|