|
|
Problem bei mehrfacher Verwendung von "headerlines" |
|
jojo1848 |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 28.02.2011, 09:07
Titel: Problem bei mehrfacher Verwendung von "headerlines"
|
 |
Hallo zusammen!
Ich habe folgendes Problem: Ich möchte aus einer .txt Datei mehrere Zahlenwerte einlesen. Diese befinden sich aber in unterschiedlichen Zeilen (im vorliegenden Fall in den Zeilen 2, 6, 10, usw.). Dazwischen steht irgendwas geschrieben. Der erste Wert aus Zeile 3 wird noch eingelesen, danach aber funktioniert "headerlines" nicht mehr. Deshalb meine Frage: Wie kann ich dieses Problem lösen bzw. gibt es überhaupt einen Befehl, der mir das ermöglicht?
MfG Jojo
|
|
|
|
|
_Peter_ |

Moderator
|
 |
Beiträge: 537
|
 |
|
 |
Anmeldedatum: 08.12.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: 7.10, 2010a
|
 |
|
|
 |
|
Verfasst am: 28.02.2011, 10:29
Titel:
|
 |
Hallo jojo1848,
wie sehen deine versuche aus? Dein Code? Wie sieht die txt-Datei aus?
_________________
Gruß
Peter
_________________
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht? Oder der MATLAB Hilfe?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
|
|
|
jojo1848 |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 28.02.2011, 11:01
Titel:
|
 |
Hallo Peter!
es handelt sich um ein Programm, welches ca. 20 konstante Werte benötigt, die in einer .txt-Datei abgelegt werden, z.B. so:
Dichte rho
[kg/m^3]
1002
Länge L
[m]
200
Breite B
[m]
50
usw...
Naja und was das programm betrifft, gibt es leider nicht viel zu sagen, außer dass es mit 'headerlines' nicht funktioniert.
Parameter = 'Konstanten.txt'
[rho] = textread(Parameter, '%f','headerlines', 2);
[L] = textread(Parameter, '%f','headerlines', 6);
[B] = textread(Parameter,'%f','headerlines', 10);
rho wird noch eingelesen, die anderen aber leider nicht...
mfg jojo
|
|
|
_Peter_ |

Moderator
|
 |
Beiträge: 537
|
 |
|
 |
Anmeldedatum: 08.12.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: 7.10, 2010a
|
 |
|
|
 |
|
Verfasst am: 28.02.2011, 11:26
Titel:
|
 |
Dann wäre, vielleihct folgendes für dich interessant:
Damit legst du alle Konstanten mit allen Informationen in einem struct ab und kannst bequem drauf zugreifen. Oder eben als einzelne structs anlegen.
_________________
Gruß
Peter
_________________
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht? Oder der MATLAB Hilfe?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
|
|
|
jojo1848 |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 28.02.2011, 11:51
Titel:
|
 |
Eine Frage noch, was soll das "regexp" bedeuten. Da kommt ne Fehlermeldung, dass es nicht definiert sei...
mfg
|
|
|
_Peter_ |

Moderator
|
 |
Beiträge: 537
|
 |
|
 |
Anmeldedatum: 08.12.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: 7.10, 2010a
|
 |
|
|
 |
|
Verfasst am: 01.03.2011, 10:14
Titel:
|
 |
regexp ist eine regular expression.
was für eine Fehlermeldung kommt genau?
_________________
Gruß
Peter
_________________
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht? Oder der MATLAB Hilfe?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
|
|
|
jojo1848 |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 01.03.2011, 10:20
Titel:
|
 |
Hallo Peter!
??? Undefined function or variable 'regexp'.
Error in ==> ...
On line 20 ==> if ~isempty(regexp(tline, '\w*\s+\w*', 'match', 'once'))
Ich habe Version 6, schätze mal, dass es daran liegt...
mfg
|
|
|
_Peter_ |

Moderator
|
 |
Beiträge: 537
|
 |
|
 |
Anmeldedatum: 08.12.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: 7.10, 2010a
|
 |
|
|
 |
|
Verfasst am: 01.03.2011, 11:52
Titel:
|
 |
Also auf Matlab 6 kann ich leider nichtmehr zugreifen um zu testen was es da für Möglichkeiten gibt. Aber versuch mal dann mal folgendes an deinem Code zu ändern:
bei textscan(dem Nachfolgerbefehl von textread) wird das Dokument nicht jedesmal von vorne durchsucht, sondern ab dem Punkt wo das letzte mal abgelesen wurde. Deswegen musst du von dort weiterspringen und nicht von vorne anfangen.
_________________
Gruß
Peter
_________________
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht? Oder der MATLAB Hilfe?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
Zuletzt bearbeitet von _Peter_ am 01.03.2011, 13:38, insgesamt einmal bearbeitet
|
|
|
jojo1848 |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 01.03.2011, 12:54
Titel:
|
 |
Das funktioniert leider auch nicht!
Fehlermeldung lautet:
expected ";" , found "numeric value"
|
|
|
_Peter_ |

Moderator
|
 |
Beiträge: 537
|
 |
|
 |
Anmeldedatum: 08.12.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: 7.10, 2010a
|
 |
|
|
 |
|
Verfasst am: 01.03.2011, 13:41
Titel:
|
 |
sorry hatte ausversehen noch
da stehen, das muss natürlich nur
heißen.
Oder hattest du das korrigiert?
Vielleicht kannst du das mit textscan versuchen, wenn es das schon bei Matlab 6 gibt.
_________________
Gruß
Peter
_________________
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht? Oder der MATLAB Hilfe?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
|
|
|
jojo1848 |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 01.03.2011, 13:52
Titel:
|
 |
Funktioniert leider beides nicht.
textscan gibt es leider noch nicht und bei 'headerlines' erkennt er wieder nur die erste Variable und ab der zweiten kann ersie nicht mehr einlesen...
|
|
|
_Peter_ |

Moderator
|
 |
Beiträge: 537
|
 |
|
 |
Anmeldedatum: 08.12.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: 7.10, 2010a
|
 |
|
|
 |
|
Verfasst am: 01.03.2011, 15:23
Titel:
|
 |
|
|
jojo1848 |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 01.03.2011, 15:29
Titel:
|
 |
|
|
_Peter_ |

Moderator
|
 |
Beiträge: 537
|
 |
|
 |
Anmeldedatum: 08.12.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: 7.10, 2010a
|
 |
|
|
 |
|
Verfasst am: 01.03.2011, 16:04
Titel:
|
 |
Habe ganz vergessen, dass die 6.1 logischerweise nicht mir Windows7 zusammenspielt. Krieg ich leider nicht zum laufen. Sry.
Vielleicht hat aber noch jemand anderes eine Idee.
_________________
Gruß
Peter
_________________
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht? Oder der MATLAB Hilfe?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 02.03.2011, 00:12
Titel:
|
 |
Hallo,
Hier ist Peter's Code angepasst für Matlab 6.1:
Gruß, Jan
|
|
|
|
Gehe zu Seite 1, 2 Weiter
|
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.
|
|