|
|
umwandlung String in matrix |
|
Chris2011 |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 09.08.2011, 14:43
Titel: umwandlung String in matrix
|
 |
Hallo zusammen!
Ich hab da ein kleines Problem. Ich will einen String in der Form: x=00 00 00 04 00 0F 00 1F 00 17 00 29 00 11 00 0A 00 00 umwandeln, damit ich eine 3x3-Matrix bekomme.
Am Ende sollte eine Matrix in der Form A=[0000 0004 000F; 001F 0017 0029; 0011 000A 0000] rauskommen.
Bei den Zahlen handelt es sich dabei um Hex-Zahlen.
MfG Chris
|
|
|
|
|
eupho |

Forum-Meister
|
 |
Beiträge: 777
|
 |
|
 |
Anmeldedatum: 07.01.09
|
 |
|
 |
Wohnort: Marburg
|
 |
|
 |
Version: R2009b
|
 |
|
|
 |
|
Verfasst am: 09.08.2011, 15:33
Titel:
|
 |
Ein numerisches Array kann keine Buchstaben beinhalten. Ein Cellarray wäre dafür geeignet, allerdings sind dann die Einträge nach wie vor als String abgespeichert.
|
|
|
Chris2011 |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 09.08.2011, 15:42
Titel:
|
 |
Also dieses x kommt aus einer Datei mit value <13x10 cell>.
Daraus hab ich dann ein Feld genommen, in dem meine Daten stehen und hab dann das x mit value <1x1 cell> bekommen.
und daraus will ich jetzt eben eine 3x3 matrix haben und diese dann von hex in dezimal umwandeln.
|
|
|
Andreas Goser |

Forum-Meister
|
 |
Beiträge: 3.654
|
 |
|
 |
Anmeldedatum: 04.12.08
|
 |
|
 |
Wohnort: Ismaning
|
 |
|
 |
Version: 1.0
|
 |
|
|
 |
|
Verfasst am: 09.08.2011, 15:57
Titel:
|
 |
HEX2DEC funktioniert für CELL. Sind die Zwischenschritte nötig?
Andreas
|
|
|
Chris2011 |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 09.08.2011, 16:02
Titel:
|
 |
mit hex2dec bekomm ich das irgendwie nicht hin.
also ganz am ende soll eben eine 3x3 matrix mit dezimalzahlen dastehen. in welcher reihenfolge die schritte erfolgen ist im prinzip egal!
|
|
|
eupho |

Forum-Meister
|
 |
Beiträge: 777
|
 |
|
 |
Anmeldedatum: 07.01.09
|
 |
|
 |
Wohnort: Marburg
|
 |
|
 |
Version: R2009b
|
 |
|
|
 |
|
Verfasst am: 09.08.2011, 16:50
Titel:
|
 |
ist aber keine dezimale Form. Und wie bereits gesagt, hex2dec() macht genau das, was du benötigst. Siehe auch cellfun().
|
|
|
DSP |

Forum-Meister
|
 |
Beiträge: 2.117
|
 |
|
 |
Anmeldedatum: 28.02.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: R2014b
|
 |
|
|
 |
|
Verfasst am: 09.08.2011, 17:23
Titel:
|
 |
Geht bestimmt auch noch einfacher, aber es funktioniert immerhin.
|
|
|
Chris2011 |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 10.08.2011, 08:31
Titel:
|
 |
Vielen Dank DSP!
Es funktioniert wunderbar! Würdest du mir bitte noch diesen Teil erklären?
% zunächst Leerzeichen entfernen und immer 4 Bit in eine Zeile von vec
for i=1:6:length(x{1})-4
vec(m,1:2) = x{1}(i:i+1);
vec(m,3:4) = x{1}(i+3:i+4);
m = m + 1;
end
Chris
|
|
|
eupho |

Forum-Meister
|
 |
Beiträge: 777
|
 |
|
 |
Anmeldedatum: 07.01.09
|
 |
|
 |
Wohnort: Marburg
|
 |
|
 |
Version: R2009b
|
 |
|
|
 |
|
Verfasst am: 10.08.2011, 08:35
Titel:
|
 |
Bedeutet nichts anderes als:
--> Hex-Werte untereinander in ein char-Array schreiben
|
|
|
DSP |

Forum-Meister
|
 |
Beiträge: 2.117
|
 |
|
 |
Anmeldedatum: 28.02.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: R2014b
|
 |
|
|
 |
|
Verfasst am: 10.08.2011, 08:41
Titel:
|
 |
hex2dec mag die Leerzeichen nicht, weshalb du deinen Vektor x damit nicht einfach in dezimal umwandeln kannst. Deshalb lasse ich sie weg und lade immer 4 aufeinanderfolgende hex Werte (Fehler von mir: 2 Byte oder 16 Bit) in eine Zeile vec.
@eupho: ich schreibe immer 4 hex werte nebeneinander
|
|
|
Chris2011 |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 10.08.2011, 08:54
Titel:
|
 |
Ok. Habs kapiert
Vielen Dank für die Hilfe!
|
|
|
DSP |

Forum-Meister
|
 |
Beiträge: 2.117
|
 |
|
 |
Anmeldedatum: 28.02.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: R2014b
|
 |
|
|
 |
|
Verfasst am: 10.08.2011, 09:05
Titel:
|
 |
Aber danke für den die Vereinfachung eupho...wieder was gelernt.
Die erste for-Schleife kann man somit auch dadurch ersetzen.
|
|
|
|
|
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.
|
|