|
|
zuweisen von Variablen und Daten aus einer txt Datei |
|
baumi1993 |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 21.01.2018, 11:33
Titel: zuweisen von Variablen und Daten aus einer txt Datei
|
|
Hallo liebe Matlab Gemeinde
Bei meinem Problem mit der TXT. Datei handelt es sich nicht um das Einlesen der Daten, sondern um die Zuweisung der Daten in Matlab als Variablen.
Angabe aus TXT:
Hubert; 29
Elisa; 40
Diese Liste lese ich problemlos in Matlab in eine Liste ein (in einer Spalte untereinander)
Was ich jetzt in Matlab erreichen will ist, dass nach dem Ausführen der Hubert=29 und Elisa = 40, also bestimmte Variablen in Matlab sind. Ich habe hierfür mein Programm im Anhang.
Wäre schön wenn ihr mir da helfen könntet.
Viele Grüße
baumi
Beschreibung: |
|
Download |
Dateiname: |
Text_einlesen.m |
Dateigröße: |
488 Bytes |
Heruntergeladen: |
300 mal |
Beschreibung: |
|
Download |
Dateiname: |
Text_einlesen.m |
Dateigröße: |
488 Bytes |
Heruntergeladen: |
294 mal |
|
|
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.448
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 21.01.2018, 12:08
Titel:
|
|
Hallo,
das ist zwar mit eval möglich, macht aber das weitere Verarbeiten der Daten schwierig.
Ich könnte mir das als Table vorstellen:
Dann geht z.B.
Grüße,
Harald
|
|
|
baumi1993 |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 21.01.2018, 12:45
Titel:
|
|
Hallo Harald
vielen Dank schon einmal für deine Antwort.
Wenn ich das ganze als Table aber kreiere müsste ich aber immer wissen wo in meiner Tabelle T genau die Variable definiert ist (Hubert=29), die ich für die Weiterverwendung benutzen will. Daher wollte ich ehr mit eval arbeiten, damit ich quasi immer über den Workspace bequem auf die Variable zugreifen kann via Variablenaufruf.
Gruß
baumi
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.448
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 21.01.2018, 18:50
Titel:
|
|
Hallo,
Zitat: |
müsste ich aber immer wissen wo in meiner Tabelle T genau die Variable definiert ist |
Nein, musst du nicht. Wenn du das wie von mir vorgeschlagen machst, findet MATLAB die richtige Zeile automatisch.
Grüße,
Harald
|
|
|
baumi1993 |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 22.01.2018, 22:37
Titel:
|
|
Hallo Harald
da hast du Recht, ich hatte das nicht mehr gewusst... Vielen Dank.
Nun habe ich ja die Variablen mit Zuordnung als Matrix im Workspace. Kann ich diese dann via for-Schleife auch in ein String speichern, wo sich die Schleife automatisch durch die ganze Matrix durcharbeitet?
for i=1:length(T)
set.#Name der Variable#= T{'Name der Variable',:};
Gruß
baumi
|
|
|
baumi1993 |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 22.01.2018, 22:42
Titel:
|
|
|
|
baumi1993 |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 22.01.2018, 23:16
Titel:
|
|
filename= fullfile('Datenmatrix.txt');
T= readtable(filename,'Delimiter','=','ReadVariableNames',false);
set=table2struct(T,'ToScalar',true);
Wenn ich es über die table2struct Funktion versuche, kommt er mit den Var1 und Var2 durcheinander.. Dann setzt er 'set.Var1' und nicht 'set.Hubert' gleich 29.
Gruß
baumi
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.448
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 22.01.2018, 23:28
Titel:
|
|
Hallo,
so sollte es gehen:
set würde ich als Variablenname vermeiden, da das auch ein Funktionsname ist.
Grüße,
Harald
|
|
|
baumi1993 |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 23.01.2018, 00:17
Titel:
|
|
tip top Harald, vielen vielen Dank
Gruß
baumi
|
|
|
baumi |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 06.02.2018, 21:21
Titel:
|
|
Hallo Harald
leider muss ich dir nochmal eine Frage stellen..
Wir hatten ja eigentlich das Problem mit dem Auslesen der Tabelle geklärt. Ich habe die gleiche Vorgehensweise bei einer zweiten Tabelle angewendet, wo ich lediglich die Namen selbst aus der Tabelle = ihren Werten in einer For-Schleife setze. Ich habe dafür einfach den Zusatz "data." entfernt. Warum aber wird die For-Schleife dann nicht ausgeführt?
Gruß
baumi
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.448
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 06.02.2018, 21:40
Titel:
|
|
Hallo,
das kann ich dir leider auch nicht sagen, ohne den Code und die Datei vor mir zu haben.
Grüße,
Harald
|
|
|
baumi |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 06.02.2018, 21:56
Titel:
|
|
Selbstverständlich. Ich habe dir im Angang ein PNG hinterlegt.
Vielen Dank...
Beschreibung: |
|
Download |
Dateiname: |
code.PNG |
Dateigröße: |
13.94 KB |
Heruntergeladen: |
275 mal |
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.448
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 06.02.2018, 22:12
Titel:
|
|
Hallo,
die Datei kenne ich nun immer noch nicht.
Was du mit dem Code bezweckst, verstehe ich nicht. Die Art auf einen Table zuzugreifen gibt es einfach nicht.
Bitte Code grundsätzlich als Text, nicht als Bild zur Verfügung stellen. Dann kann man den Code auch testen oder editieren.
Grüße,
Harald
|
|
|
baumi |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 06.02.2018, 22:21
Titel:
|
|
Entschuldige
Hier in der Datenmatrix befinden sich verschiedene structs. Ich möchte, dass im Workspace nach beenden des Scripts diese structs mit ihren Werten auftauchen.
z.B.
wenn ich im Workspace eintippe
>>set.start
% soll erscheinen
set.start=2
Beschreibung: |
|
Download |
Dateiname: |
Text_einlesen.m |
Dateigröße: |
283 Bytes |
Heruntergeladen: |
259 mal |
Beschreibung: |
|
Download |
Dateiname: |
Datenmatrix.txt |
Dateigröße: |
58 Bytes |
Heruntergeladen: |
396 mal |
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.448
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 06.02.2018, 22:40
Titel:
|
|
Hallo,
dann die Datei zeilenweise einlesen und das als Befehl mit eval ausführen.
Grüße,
Harald
|
|
|
|
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 - 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.
|
|