Verfasst am: 11.10.2012, 13:04
Titel: Matrizen werden nicht richtig ausgelesen/eingeschrieben
Hey Leute,
hab hier grad n kleines Problem.
schreibe grad ein Skript in dem ich zwei Datenblätter miteinander vergleichen muss. Verglichen werden müssen einzelne Werte in Spalten/Zeilen und Matrizen.
Jedoch schreibt mir das Programm sämtliche Werte in Spalten (im Zwischenspeicher)und nicht in die Zeilen/Matrizen, wie sie eigentlich durch Kommata und Semikolone vorgegeben sind. Dies wär jedoch dringend erforderlich.
Kann mir wer weiterhelfen?? Danke schonmal!
Code:
Pruefplan.(char(pos(1))).(char(WertLinieFeld)).(char(pos(9)))(1,1) = cellstr(pos(10)); %%%Schreiben der Werte als String in die neue Cell
Values = strread(char(pos(10)), '%s %*s'); %%%%Kopieren des Strings in Variable Values
Values = strrep(Values,'"',''); %%%%eventuelle Anführungszeichen vor der Klammer löschen
Values = strrep(Values,'[',''); %%%%Klammer löschen
Values = strrep(Values,']',''); %%%%Klammer löschen
Values = str2num(char(Values)); %%%%Umwandlung von String in Zahlen
Datei die eingelesen werden muss: (leider kann ich nicht alles uploaden, weil die Daten der Geheimhaltung unterstellt sind)
"[0 , 0 ; 0 , 0 ; 0 , 0 ; 0 , 0 ; 0 , 0 ; 0 , 0 ; 0 , 0 ; 0 , 0 ; 0 , 0 ; 0 , 0 ; 0 , 0 ; 0 , 0]"
wenn ich diesen Abschnitt einlese, schreibt er alle Nullen in eine Spalte untereinander .
Könnte es Schwierigkeiten wegen der Trennzeichen geben, weil MATLAB vielleicht andere Annahmen trifft als das Betriebssystem? Ich meine die Trennzeichen und die unterschiedlichen Bedeutungen nach Land.
Hmm, "Student Maschinenbau" und "Daten mit Geheimhaltung"?. Falls hier im Forum kein Ergebnis kommt, bitte an den Technische Support wenden. MIT Daten.
das miit der Geheimhaltung bezieht sich ja nur auf die Gesamtheit der Datenblätter. Das angegebene Beispiel ist dem Aufbau der Blattdaten sehr ähnlich.
Wie is das mit den Trennzeichen gemeint. SInd die von Land zu Land unterschiedlich definiert? An sich sind aber alle Daten firmenintern aus Deutschland.
Danke für die Hilfe!
Es ist wichtig zu wissen, ob Du immer 2 Spalten hast, ob die Anzahl der Spalten garantiert immer gleich groß ist, ob Zahlen fehlen dürfen, etc.
STRREAD ist "deprecated" und wird in modernen Versionen nicht mehr unterstützt. Der Nachfolger TEXTSCAN ist leider noch komplizierter.
Zudem erschließt sich nicht zwingend, was "strread(char(pos(10)), '%s %*s')" genau ausführt, da z.B. "pos" nicht erklärt wird.
Gruß, Jan
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.