Verfasst am: 21.04.2012, 14:01
Titel: strcmp in if schleife funktioniert nicht
Hallo liebe Matlabfreunde,
ich möchte mit Hilfe dieses Codes eine Matrix aus einer Datei einlesen, leider ist noch ein Fehler enthalten, da keine Werte in die "Korrekturmatrix" geschrieben werden.
while ~feof(fid)% weiter bis zum Ende der Datei
tline = fgetl(fid);
%display(tline);
if(strcmp('Korrekturen an Rad 1(um)', tline)==1)
Korrekturmatrix=textscan(fid, '%f %f %f %f %f %f %f %f %f %f %f','whitespace', 'I ', 'delimiter', '\n','headerlines', 6,'collectoutput',1);
Korrekturmatrix=Korrekturmatrix{:};
Korrekturmatrix(:,1) = [];
break;
end end fclose(fid);
display(Korrekturmatrix);
habe die if schleife schon durch switch/case ersetzt und mir den Wert von strcmp ausgeben lassen. Selbst wenn matlab für tline den selben Wortlaut anzeigte ("Korrekturen an Rad 1 (um)") leiferte strcmp immer nur 0.
die Datei ist von der Form:
XXXXXXXXXXXXXXXXXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxxx xxxxxxxxxxxaaa xxxxxxxxxxx xxx *
**************************** XXX****************** 19.04.12 10:35:16 *
xxxxx
xxxxx
-------------------------------------------------------------------------
Korrekturen an Rad 1 (um)
-------------------------------------------------------------------------
Das Auslesen funktioniert soweit auch wenn ich die Datei so kürze, dass "Korrekturen an Rad 1 (um)" gleich in der ersten Zeile steht.
Nur das Suchen des Ausdruckes im Kontext funktioniert nicht.
wie würde das mit strfind funktionieren?
strfind gibt doch "Platznummern" aus
Mein Vorschlag:
ach super es hat doch mit strfind geklappt, hatte nur nen kleinen Tippfehler drin, danke Harald!
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
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.