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

bestimmte zeilen eines textfiles ausgeben

 

matlabpfeife1

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.02.2012, 09:33     Titel: bestimmte zeilen eines textfiles ausgeben
  Antworten mit Zitat      
Hallo zusammen,

habe hier ein textfile, das besteht aus 6 befehlen, die sich immer wiederholen und dann jeweils untereinander stehen. folgende form:

%R1Q,9027:3.58699,1.7187
%R1P,0,0:0
%R1Q,9051:1,0
%R1P,0,0:0
%R1Q,2108:
%R1P,0,0:0,5.157814730240162,1.404583707080653,4.766999999999661
%R1Q,9027:3.58699,1.7187
%R1P,0,0:0
%R1Q,9051:1,0
%R1P,0,0:0
%R1Q,2108:
%R1P,0,0:0,5.157831068040823,1.404583707080653,4.766999999999661
.
.
.

-> in zeile 4 und dann jede sechste zeile soll nach dem doppelpunkt eine "0" stehen. Wenn hier ein anderer Wert steht, soll diese zeile jeweils mit der zeilennummer ausgegeben werden.

-> in zeile 6 und dann jede 6. zeile sollten die drei werte (5.157814730240162,1.404583707080653,4.766999999999661) jeweils annähernd ähnlich sein. dh. die ersten beiden nachkommastellen sollten immer identisch sein.
Ist mindestens einer dieser werte innerhalb der ersten beiden nachkommastellen verschieden, solle die komplette zeile und die zeilennummer ausgebegen werden.

kann mir da jemand weiterhelfen?
Danke schonmal

Die Pfeife


matlabpfeife1

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 02.02.2012, 08:51     Titel:
  Antworten mit Zitat      
keiner zumindest nen ansatz?
 
denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 02.02.2012, 10:02     Titel:
  Antworten mit Zitat      
Hallo

und was hast du bisher geschafft? Kannst den Code posten?
Ansatz wäre wie folgt
1) File komplett mit TEXTSAN einzulesen
2) dann in FOR LOOP überprüfen, einmal beginnend ab Zeile 4
und anderes Mal beginnen an Zeile 6
3) entsprechende Überprüfungen in die Schleifen einbauen
hier so eine Art Pseudocode
Code:

data = textscan(...)

for k=4:6:length(data)
 if not zero
   fprintf('Zeielnummer %d:',k)
 end
end

for k=6:6:length(data)
  if k==6
    lastnumb= data(k)
  end
  if ~isequal(lastnumb, data(k))
     fprintf('Zeielnummer %d:',k)
  end
end
 
Private Nachricht senden Benutzer-Profile anzeigen
 
matlabpfeife1

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 02.02.2012, 11:07     Titel:
  Antworten mit Zitat      
Hallo Denny,

vielen dank für den ansatz, der hat mir gefehlt.

wie schaffe ich es, dass in zeile 4 und dann jede sechste zeile nur der Wert nach dem Doppelpunkt auf (not zero) überprüft wird?
Gruss und Dank

die Pfeife
 
matlabpfeife1

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 02.02.2012, 11:26     Titel:
  Antworten mit Zitat      
habe bisher ein array "data" erzeugt mit <1x1 cell> in dieser zelle stehen zeilenweise meine werte...
 
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.