Es handelt sich um eine dreidimensionale Messung mit Angabe der Winkel im Kugelraum. In der ersten Zeile sind die Winkel der einen Achse und in der ersten Spalte die Winkel der zweiten Achse. In den restlichen Feldern sind die Messdaten. Um das ganze in karthesische Daten umzurechnen brauche in in Matlab drei Matrizen [Winkel1] [Winkel2] und [Messwerte].
Jedoch habe ich Probleme beim einlesen.
Vielleicht könnt ihr mir beim Einlesen helfen?
Ich habe es mit textread versucht.
Probleme:
1. Komma als Dezimaltrenner
2. Unbekannte Matrizengröße
Das Problem mit dem Komma wollte ich lösen, in dem ich die Daten als String einlese und danach das Komma mit nem Punkt ersetze. das habe ich auch hinbekommen. Aber das Problem mit der unbekannten Matrizengröße kriege ich nicht hin. Ich weiß also leider nicht wieviele Teilschritte zwischen -90° und 90° liegen. Also müsste ich die Zeilen und Spalten im TXT vorher auslesen. Ist das möglich?
wo ist das Problem mit unbekantem Anzhal von Messdaten?
Du weißt doch ganz genau, das ein Datensatz aus 2 Winkel und 3 Messwerten besteht?
Wenn Du also 50 Einzelnen Werte eingelesen hast, dann hast Du also 50/(2+3) Datensätze eingelesen! Wenn alle eingelesenen daten als ein Zeilen oder Spaltenvektor vorliegen, dann kannst Du den mit RESHAPE umformen
>> reshape(data,length(data)/5,5)
Das Problem mit der Komma als Trennung würde ich wie folgt lösen:
1. zuerst den ganzen File als ein String einlesen, danach mit STRREP funktion alle Kommas gegen Punkte ersetzen und das Ergebnis wieder als Textfile speichern
2. den neuen Textfile mit DLMREAD auslesen
Wenn Du so vorgehst wie beschrieben, dann musst Du die Daten hinterher nicht mehr RESHAPEn, da DLMREAD liest dann die Daten automatisch als Matrix in der Form N-Zeilen X 5
dann kannst du diese einfach in ein mehrdimensionales Feld schreiben
_________________
Mit freundlcihem Gruß
Nyquist
guestman
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 01.09.2008, 08:50
Titel: komma punkt konvertier funktion
Hallo,
nachdem ich im netzt nicht schönes finden konnte wollte ich hier mal meine lösung des problems reinstellen:
Code:
function[convertedData]=convertCommaToPoint(originalData) % The Function loads a table with european style decimal point and % converts it into an americon style table. Only works with 2 position after % decimal point
Hallo,
also um die Dezimaltrennzeichen in einer Datei zu ändern benutze ich immer die leicht modifizierte Version von "comma2point" welche über google einfach zu finden ist (Ich bin im übrigen nicht der Urheber dieses Codes).
Code:
function comma2point(File) % Generate a new file named Oldfilename_Modified.ending. In the new File all % ',' are changed to '.' Needs a full datapath and filename as input.
Diese Funktion ist in Punkte Schnelligkeit von nichts von mir gefundenem zu überbieten. Nachdem du die Datei eingelesen hast, kannst du die neu erstellte Datei mit den Kommatas natürlich mittels
hast Du die Funktion denn bei Dir unter ihrem Namen gespeichert? Wenn ja, musst Du eventuell noch den Ordner, in den Du sie gespeichert hast, dem Suchpfad hinzufügen (Stichwort addpath). Oder Du kopierst sie nochmal in dein work-Verzeichnis.
Herzliche Grüße
Bijick
_________________
>> why
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 12.07.2011, 10:31
Titel:
Hey Bijick,
habe es irgendwie hinbekommen
Trotzdem danke für deine Antwort.
Wenn es in diesem Forum einen Danke-Button gäbe, würde ich ihn drücken!
hallo leute,
bin kompletter anfänger, könnt ihr mir bitte sagen wo genau ich den pfad angeben muss? kann ich den ganzen text einfach ins command window kopieren?
dank und gruß
Ich verstehe die Frage nicht.
Wobei möchtest Du denn den Pfad angeben? Und welchen Text möchtest Du aus welchem Grund ins Command-Window kopieren?
Gruß, Jan
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 12.04.2012, 18:26
Titel:
hallo leute,
ich muss diesen thread nochmal nach oben ziehen.
ich habe auch eine .txt - datei in der die kommas durch punkte ersetzt werden sollen.
der code den schrank gepostet hat, habe ich gesehen. aber nun meine frage hierzu:
was muss ich denn alles mit meinem dateinamen (.txt-datei) welche ich umwandeln will ersetzen?
file,name?
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.