|
Mike0815 |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 16.04.2010, 14:53
Titel: Matrix mit Text und Zahl
|
 |
Ich habe ein rieseiges Problem, das mich langsam in den Wahnsinn treibt. Kann mir bitte jemand erklären, wie man mit Vektoren umgeht, die einmal Zahlen beinhalten und einmal Text?
Ich habe eine CSV die ich mit textread einlese, dabei spezifiziere ich die Integers mit %n, die Zahlen mit %f und die Texte mit %s.
Wenig später musste ich merken, dass ich die Funktion char benutzen muss, um Matlab zu sagen, dass da ein Sting ist. Plötzlich stelle ich fest, dass der String weg ist und beispielsweise aus einem "B" die Zahl 66 wurde. Ich verstehe das nicht, kann bitte jamdn helfen?
Um das alles per "Ausprobieren" zu verstehen habe ich folgendes Beispiel:
Die Matrix Comb besteht aber dann nur aus dem Vektor SIDE? Warum??? Mich macht das wahrnsinnig. Please help!!!
Edit by Bijick: Code-Umgebung ergänzt. Bitte denke nächstes Mal selbst daran.
|
|
|
|
|
Mike0815 |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 16.04.2010, 15:53
Titel:
|
 |
|
 |
|
Um das deutlicher zu machen, hier mein genaues Problem.
Im Anhang ist eine Textdatei: Elemente getrennt mit Semicolon, eine Textspalte und zwei Zahlenspalten.
Ich lese sie so ein:
Nun existieren nach meinem Verständnis 3 Spaltenvektoren.
Ich möchte diese Spaltenvektoren nun sortieren, nicht jeden einzeln, sondern als gesamtes. Ich möchte sortrows dafür benutzen. Ich will daher die drei Spaltenvektoren zu einer Matrix A zusammenfassen, um sie dann nach der Spalte ORDERTYPE sortieren zu können (also zuerst die B und dann die S).
Ich versuche es so:
Und ich versuche es so:
Ich bekomme aber beide male die Fehlermeldung:
??? Error using ==> horzcat
CAT arguments dimensions are not consistent.
Ich überprüfe die Größe der Spaltenvektoren und alle sind 5Reihen/1Spalte... Was also passt hier nicht? Es liegt an dem ORDERTYPE Vektor, da es ohne diesen funktioniert. Wie aber erkennt MatLab, dass es sich hier um einen String handelt? Die Funktion
ändert auch nichts...
??
Beschreibung: |
|
 Download |
Dateiname: |
test.txt |
Dateigröße: |
75 Bytes |
Heruntergeladen: |
458 mal |
|
|
|
Evron |

Forum-Fortgeschrittener
|
 |
Beiträge: 51
|
 |
|
 |
Anmeldedatum: 22.11.09
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 16.04.2010, 16:33
Titel:
|
 |
Hallo,
erlaubt meines Wissens nach in einer Matrix nur einen Datentyp und Double (Standard für Zahlenwerte) oder Integer sind etwas völliges anderes als Strings, denn Strings haben eine variable Länge, während die anderen je nach genauen Typ zwischen 1 und 8 Byte schwanken. Wenn der Ordertype immer nur einen Buchstaben umfasst, dann wandle ihn doch einfach in seinen ASCII Wert um, welche die gleiche Odnung kennt wie der Buchstabe (A < B und 1 <2). Dann gibt es keine Probleme mehr die drei Vektoren zu vereinigen.
|
|
|
Mike0815 |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 21.04.2010, 10:51
Titel:
|
 |
Ja, Du hast Recht... jetzt klappt es. Danke.
|
|
|
|
|
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
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| 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.
|
|