|
|
platzhalter in string aus binär-daten |
|
dedda |

Forum-Newbie
|
 |
Beiträge: 2
|
 |
|
 |
Anmeldedatum: 17.12.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 17.12.2012, 13:51
Titel: platzhalter in string aus binär-daten
|
 |
|
 |
|
Hallo,
ich habe aus einer Messung am CAN-Bus einen Datenstring, der beispielsweise in folgendem Format vorliegt (16 Bits):
1101 1001 1100 0000 1111 1100
Jetzt bedeuten verschiedene Konstellationen von Bits auch verschiedene Zusammenhänge. Um diese Zusammenhänge heraauszufinden, muss ich die verschiedenen Teilbits mit dem Datenstring vergleichen. Bsp:
entspricht Bit 1,2,3,5,6,7 = 110000, dann....
entspricht Bit 1,2,3,8,9,10 = 110010, dann....
entspricht Bit 1,2,3,14,15,16 = 110010, dann....
Insgesamt habe ich 15 solcher Vergleiche zu untersuchen. Momentan mache ich das ganze mit 15 switch-case-Anweisungen.
Meine Idee ist jetzt den kompletten Datenstring in einer switch Anweisung zu vergleichen. Dafür brauche ich aber einen Platzhalter in dem Datenstring (im obigen Beispiel ist es egal, ob das Bit 4 0 oder 1 ist)
Gibt es einen Befehl/Zeichen womit ich dies realisieren kann?
Komplettes Beispiel:
switch datenstring
case '110%000%%%%%%%%%%%'
case '110%010%%%%%%%%%%%'
case '110%010%%%%%%%%%010'
end
wobei das %-Zeichen für die Bits steht, welche mich nicht interessieren. Sonst müsste ich sämtliche Konstellationen mit den erwähnten 15 switch-case-Anweisungen durchgehen.
Ich bin dankbar für Vorschläge
Grüße dedda
|
|
|
|
|
Sigggi |

Forum-Anfänger
|
 |
Beiträge: 46
|
 |
|
 |
Anmeldedatum: 27.01.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 17.12.2012, 14:24
Titel:
|
 |
Hallo dedda,
Du könntest Dir eine Cellvariable mit den Mustern erstellen:
Dann Deinen Datenvektor auf jedes Muster untersuchen
Im Vektor match sollte nachher das Auftreten der in Pattern definierten Muster mit 1 gekennzeichnet sein. Das Beispiel hat einige Schleifen; es gibt bestimmt noch elegantere Methoden ...
Gruß, Sigggi.
|
|
|
dedda |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 2
|
 |
|
 |
Anmeldedatum: 17.12.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 17.12.2012, 17:25
Titel:
|
 |
Die Idee ist sehr gut,wer das gleich mal umsetzen.
Mein Problem ist noch, dass ich etwa 60000 solcher Datenstrings bereits in einer for-Schleife untersuche und das ganze eh schon langsam ist.
Werd mal mit tic toc die Zeit messen.
Falls es noch ne effektivere Methode gibt, bin ich natürlich auch nicht abgeneigt.
Grüße, dedda
|
|
|
|
|
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.
|
|