|
|
Nur bestimmte Zeilen aus Text auslesen |
|
pfeili |
Forum-Century
|
|
Beiträge: 177
|
|
|
|
Anmeldedatum: 27.08.08
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2019b
|
|
|
|
|
|
Verfasst am: 16.08.2011, 09:39
Titel:
|
|
Lieber Chris,
super. Es funktioniert. Ich danke dir. Kannst du mir vielleicht noch sagen, wie ich in der ersten Spalte einen bestimmten String suche, z. B. 'esv_p1' und mir den in genau dieser Zeile stehenden Wert, der ja in Spalte 3 steht, ausgeben lasse? Ich will es möglichst flexibel gestalten, da sich die Zeilennummer des gesuchten Strings auch mal ändern kann.
Das wäre mir eine riesige Hilfe.
pfeili
|
|
|
|
|
pfeili |
Forum-Century
|
|
Beiträge: 177
|
|
|
|
Anmeldedatum: 27.08.08
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2019b
|
|
|
|
|
|
Verfasst am: 16.08.2011, 10:13
Titel:
|
|
Es müsste doch irgendwie in folgende Richtung gehen:
Funktioniert aber nicht so recht.
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 18.08.2011, 10:09
Titel:
|
|
Hallo,
falls das noch nicht geklärt ist, wie immer die Rückfragen:
Gibt es eine Fehlermeldung? Welche?
Stimmt das Ergebnis nicht mit dem erwarteten überein? Inwiefern?
"Funktioniert aber nicht so recht." ist leider nicht aussagekräftig.
Grüße,
Harald
|
|
|
pfeili |
Forum-Century
|
|
Beiträge: 177
|
|
|
|
Anmeldedatum: 27.08.08
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2019b
|
|
|
|
|
|
Verfasst am: 19.08.2011, 09:28
Titel:
|
|
|
|
|
Hallo Harald,
sorry. Ist natürlich wirklich nicht hilfreich. Das Problem hat sich mittlerweile insofern gelöst, da ich in der Ausgangstextdatei einen Fehler hatte (35-0 statt 35.0). Da kam er mit der Matrixgröße nicht zurecht.
So lautet jetzt mein Code:
Folgende zwei Probleme habe ich aber noch:
1. wie wandle ich die numdata (das sind ja Cells) in den Datentyp double um, damit ich damit rechnen kann?
2. bisher suche ich nur nach einem String und items ist eine Matrix, die überall leer ist und nur an der Stelle eine 1 ausgibt, wo eine Übereinstimmung gefunden wird. Ich benötige aber die exakte Zeile. Wie geht das dann? UND: Kann ich das auch mit einer Matrix aus Strings machen, mir also für jeden String die entsprechende Zeile anzeigen lassen? Es soll nämlich nicht ausgeschlossen werden, dass sich die Ausgangstextdatei von der Anordnung her auch mal ändern kann.
Oder vielleicht noch einfacher gesagt: wie bekomme ich es hin, dass ich Variablen erzeuge, die den Namen aus data{i,1} tragen und denen ihr Wert aus data{i,3} zugewiesen wird, um sie genau so innerhalb von Matlab verwenden zu können, wie ich es aus der Textdatei entnehme (Variable = Wert)?
Beste Grüße
pfeili
Zuletzt bearbeitet von pfeili am 19.08.2011, 10:30, insgesamt einmal bearbeitet
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 19.08.2011, 10:01
Titel:
|
|
Hallo,
bitte Code überprüfen.
- Willst du wirklich ein Komma zwischen data und textscan haben, statt eines Strichpunkts?
- Was ist die Variable str? Sie wird hier nicht zugewiesen.
Grüße,
Harald
|
|
|
pfeili |
Forum-Century
|
|
Beiträge: 177
|
|
|
|
Anmeldedatum: 27.08.08
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2019b
|
|
|
|
|
|
Verfasst am: 19.08.2011, 10:32
Titel:
|
|
Hallo Harald,
jaja, das passiert wenn man auf zwei Rechnern arbeitet und auf dem mit dem Matlab-Code keinen Internetanschluss hat, wodurch beim Abtippen Fehler passieren. Danke, ich habe es gleich oben ausgebessert.
Beste Grüße
pfeili
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 19.08.2011, 11:01
Titel:
|
|
und was ist mit der Variable str?
|
|
|
pfeili |
Forum-Century
|
|
Beiträge: 177
|
|
|
|
Anmeldedatum: 27.08.08
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2019b
|
|
|
|
|
|
Verfasst am: 19.08.2011, 12:00
Titel:
|
|
Die gibt es doch nicht mehr. Ich habe doch stattdessen textdata eingesetzt.
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 19.08.2011, 12:38
Titel:
|
|
Hallo,
1. Daten sind schon numerisch.
2.
Die weiteren Teile, vor allem den "einfacher gesagt" - Teil, verstehe ich leider nicht.
Grüße,
Harald
|
|
|
BlackDread |
Forum-Century
|
|
Beiträge: 212
|
|
|
|
Anmeldedatum: 11.05.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: 2015a
|
|
|
|
|
|
Verfasst am: 19.08.2011, 13:59
Titel:
|
|
(@Harald: ich glaube das meint er)
Mit ausdrücklicher Warnung, dass es vermieden werden sollte wenn möglich! (und das ich nicht gesteinigt werde, weil ich dir eval aufdrück )
Hiermit kannst du zwar "variabel" arbeiten, es stiftet allerdings Verwirrung, du kriegst Probleme wirklich zu wissen, welche Variablen gerade existieren, musst also das wiederum umständlich herausfinden usw. und so fort.
Also lieber umgehen falls möglich
Gruß Chris
|
|
|
pfeili |
Forum-Century
|
|
Beiträge: 177
|
|
|
|
Anmeldedatum: 27.08.08
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2019b
|
|
|
|
|
|
Verfasst am: 22.08.2011, 10:42
Titel:
|
|
Danke vielmals für eure Antworten. Leider kann ich die Vorschläge noch nicht ausprobieren, weil er mir jetzt folgende Fehlermeldung ausgibt:
Zitat: |
??? Improper assignment with rectangular empty matrix.
Error in ==> main_menu>load_calculation_data_Callback at 1181
numdata(i) = data{i,3}
|
Was läuft denn jetzt auf einmal falsch?
Zur Erklärung des "einfacher-gesagt-Teils":
1. ich lade eine txt-Datei, in welcher zeilenweise steht Variable = Wert
2. ich lade alles zeilenweise ein und trenne es in 3 Spalten auf (%s %s %f), solange, bis ich das Ende der txt-Datei erreiche
3. ich möchte Matlab vermitteln, dass die erste Spalte Namen enthält, die ich als Variablen in Matlab genauso bezeichnen und ihnen die Werte aus Spalte drei zuweisen möchte. Genau das ist mein Knackpunkt.
Beste Grüße
pfeili
|
|
|
pfeili |
Forum-Century
|
|
Beiträge: 177
|
|
|
|
Anmeldedatum: 27.08.08
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2019b
|
|
|
|
|
|
Verfasst am: 22.08.2011, 15:18
Titel:
|
|
Teil 1 meiner vorhergehenden Frage kann ich beantworten. Es lag an bestimmten Zeilen in der Ausgangsdatei, welche eben nicht das Format String-String-Float hatten. Das konnte ich durch Entfernen der jeweiligen Zeilen aus der Welt schaffen.
Teil 2 ist immer noch ein Buch mit sieben Siegeln.
pfeili
|
|
|
pfeili |
Forum-Century
|
|
Beiträge: 177
|
|
|
|
Anmeldedatum: 27.08.08
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2019b
|
|
|
|
|
|
Verfasst am: 23.08.2011, 13:13
Titel:
|
|
Hier ein Auszug des Formats meiner txt-Datei:
Zitat: |
gen_num_csv = 5
gen_num_pipes = 1
turb_d1n_mm = 902.0
turb_d1w_mm = 1959.0
turb_c1ax_ms = 83.2
turb_c1u_ms = 204.0
turb_v1_m3kg = 4.8
turb_beta1_deg = 70.0
turb_d2n_mm = 902.0
turb_d1w_mm = 2226.0
turb_c2ax_ms = 209.0
turb_c2u_ms = -33.8
turb_v2_m3kg = 21.0
turb_beta2_deg = 32.0
turb_ila = 64
turb_lla_mm = 130
turb_hla_mm = 34
turb_dw1_mm = 20
|
Nun möchte ich wissen
1. welche Parameter sind mir anhand der txt-Datei übergeben worden? -> das steht in der Spalte {:,1}
2. wie lege ich sie als Variable mit zugehörigem Wert (diese stehen in {:,3}) in meinem Matlab-Programm ab?
Hat noch jemand eine Idee?
pfeili
|
|
|
BlackDread |
Forum-Century
|
|
Beiträge: 212
|
|
|
|
Anmeldedatum: 11.05.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: 2015a
|
|
|
|
|
|
Verfasst am: 23.08.2011, 13:40
Titel:
|
|
Hallo pfeili,
wenn du 2. wirklich so willst... nur hast du danach Probleme mit diesen Variablen weiter zu arbeiten, da du ja nicht wirklich weißt welche existieren und musst dann umständlich mit whos arbeiten.
Gruß Chris
|
|
|
pfeili |
Forum-Century
|
|
Beiträge: 177
|
|
|
|
Anmeldedatum: 27.08.08
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2019b
|
|
|
|
|
|
Verfasst am: 24.08.2011, 14:40
Titel:
|
|
Hallo,
genauso geht es. Vielen Dank. Ihr habt mir wahnsinnig geholfen. Danke und einen herrlichen Tag wünscht
pfeili
|
|
|
|
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 - 2024
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.
|
|