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

Text einlesen und Fehler bei bestimmter Bedingung

 

raflbaun
Forum-Newbie

Forum-Newbie


Beiträge: 1
Anmeldedatum: 14.06.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.06.2014, 15:11     Titel: Text einlesen und Fehler bei bestimmter Bedingung
  Antworten mit Zitat      
Hallo,

ich habe folgendes vor: Ich habe ein Textfile in welchem Wertepaare stehen (2 Spalten), die eingelesen werden sollen und in eine Matrize geschrieben werden sollen. Wichtig ist, dass genau 5 Wertepaare vorhanden sind. Da das Textfile manuell erstellt wird, wollte ich einen Prüfmechanismus hinterlegen, welcher eine bestimmte Error-Msg ausgibt, wenn zu wenig oder zu viele Wertepaare eingegeben wurden oder wenn keine Zahlenwerte eingegeben wurden. Vor und nach den Wertepaaren sind Zeilen mit "---" d.h. es sieht ungefähr so aus:
Code:
---
1  2
3  4
5  6
7  8
9  0
---


Momentan lese ich das Ganze so ein:

Code:
cline = fgetl(ia);

for (i = 1 : 5)
   abc(i,1) = fscanf(ia,'%f',1);
   abc(i,2) = fscanf(ia,'%f',1);
end


Ich habe für den Prüfmechanismus für zu wenige oder falsche Werte dann folgendes versucht:
Code:
for (i = 1 : 5)
      x = fscanf(ia,'%f',1);
      y = fscanf(ia,'%f',1);
      if isnumeric(x)
          abc(i,1) = x
      else
          error ('ACHTUNG ZU WENIG ODER FALSCHE WERTE')
      end
      if isnumeric(y)
          abc(i,2) = y
      else
          error ('ACHTUNG ZU WENIG ODER FALSCHE WERTE')
      end
end


Leider funktioniert das nicht so wie geplant und er versucht die Werte immer in die Matrize zu schreiben, egal ob ich zu wenige Werte eingebe und er ein "-" einliest oder nicht.

Kann mir jemand bei diesem Problem helfen und mir vllt. einen einfachen Ansatz oder Lösung für zu viele Werte nennen?

Vielen Dank und Gruß
Private Nachricht senden Benutzer-Profile anzeigen


draussen
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 90
Anmeldedatum: 26.11.10
Wohnort: DE
Version: 2010b,2020a
     Beitrag Verfasst am: 19.06.2014, 13:16     Titel:
  Antworten mit Zitat      
Hallo,

hab hier noch einen Vorschlag:

Code:

[file,path]=uigetfile;%Auswählen der txt Datei

data_=importdata(fullfile(file,path));%Liest Inhalt des txt files in ein struct

if size(data_.data,1)~=5 %Wenn es mehr oder weniger als 5 Wertepaare gibt

  error ('ACHTUNG ZU WENIG ODER FALSCHE WERTE')

end

 


MfG

Georg
_________________

Der Einäugige ist unter den Blinden der König!!!
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.