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

Importieren von Daten einer *.txt-Datei

 

pfeili
Forum-Century

Forum-Century


Beiträge: 177
Anmeldedatum: 27.08.08
Wohnort: ---
Version: R2019b
     Beitrag Verfasst am: 31.03.2011, 08:35     Titel: Importieren von Daten einer *.txt-Datei
  Antworten mit Zitat      
Liebe Leute,

ich möchte gern eine txt-Datei in Matlab einlesen, welche Daten in folgender Form enthält:

Zitat:

p1 = 46.3
p2 = 46
t1 = 479.4
p_b = 1.0
mp = 43.86
di = 175
DN = 250
tp = 8
rW = 0.25
zeta = 2
FL = 0.25


Wichtig ist, dass ich es nicht mithilfe des Import Wizards machen möchte. Damit habe ich es schon geschafft und mir auch den Matlab-Code generieren lassen.

Code:

function importfile(fileToRead1)
%IMPORTFILE(FILETOREAD1)
%  Imports data from the specified file
%  FILETOREAD1:  file to read
%  Auto-generated by MATLAB on 31-Jan-2008 14:57:29
% Import the file
newData1 = importdata(fileToRead1);
% Create new variables in the base workspace from those fields.
vars = fieldnames(newData1);
for i = 1:length(vars)
    assignin('base', vars{i}, newData1.(vars{i}));
end
 


Aber das ist mir zu statisch. So ist es mir zwar gelungen, die Zahlen als <11x1 double> und den text als <11x2 cell> zu importieren, aber wenn jetzt beispielsweise noch eine Überschrift in der txt Datei vorkommt, welcher ja dann kein Wert zugeordnet wird, dann gehört beispielsweise Wert 1 nicht mehr zu Cell 1. Wie könnte ich es also hinbekommen, dass ich die Zuordnung von Variablen und Werten auch dann nicht verliere, wenn die txt-Datei immer so aussieht:

Zitat:

ESV

p1 = 46.3
p2 = 46
t1 = 479.4
p_b = 1.0
mp = 43.86
di = 175
DN = 250
tp = 8
rW = 0.25
zeta = 2
FL = 0.25

EC

mp = 35
t_ec = 42.3


Für Hilfe bin ich stets dankbar.

Beste Grüße und einen schönen Tag

pfeili
Private Nachricht senden Benutzer-Profile anzeigen


_Peter_
Moderator

Moderator


Beiträge: 537
Anmeldedatum: 08.12.10
Wohnort: ---
Version: 7.10, 2010a
     Beitrag Verfasst am: 31.03.2011, 10:39     Titel:
  Antworten mit Zitat      
Hallo pfeili,
hast du dir schonmal den Befehl textscan angeschaut? Dort kannst du einen Parameter 'Headerlines' einsetzen um ihm zu sagen wieviele Zeilen er am Anfang der Datei überspringen soll.
_________________

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?
Private Nachricht senden Benutzer-Profile anzeigen
 
pfeili
Themenstarter

Forum-Century

Forum-Century


Beiträge: 177
Anmeldedatum: 27.08.08
Wohnort: ---
Version: R2019b
     Beitrag Verfasst am: 31.03.2011, 11:39     Titel:
  Antworten mit Zitat      
Naja, ich habe es jetzt zumindest für die Zahlenwerte folgendermaßen gemacht:

Code:

% Standard open file dialog box
[PathName] = uigetfile('*.txt','Select the txt-file');
txtfile = importdata(PathName)
data1 = txtfile.data(1:11)
data2 = txtfile.data(13:14)
 


Wie kann ich jetzt aber lösen, dass die Zeilen 1 und 12 von txtfile.textdata immer herausgelassen werden, egal, was in diesen Zeilen steht?

pfeili
Private Nachricht senden Benutzer-Profile anzeigen
 
_Peter_
Moderator

Moderator


Beiträge: 537
Anmeldedatum: 08.12.10
Wohnort: ---
Version: 7.10, 2010a
     Beitrag Verfasst am: 31.03.2011, 14:50     Titel:
  Antworten mit Zitat      
so?
Code:

txtfile.textdata(1,:) = []
txtfile.textdata(11,:) = []
 

_________________

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?
Private Nachricht senden Benutzer-Profile anzeigen
 
pfeili
Themenstarter

Forum-Century

Forum-Century


Beiträge: 177
Anmeldedatum: 27.08.08
Wohnort: ---
Version: R2019b
     Beitrag Verfasst am: 01.04.2011, 11:27     Titel:
  Antworten mit Zitat      
Genau. Besten Dank und ein schönes Wochenende.

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



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.