SIMULINK char to num
古いコメントを表示
Ich bekomme als input ein Array mit meiner Nachricht in dezimal. Ich mochte die Nachricht in SIMULINK nun zurück in ihre ursprüngliche Form als Array mit int haben. Da die direkte umwandlung nicht geht wollte ich das über Strings machen, allerdins funktioniert auf dem RPi str2num nicht und str2double konvertiert Dezimal nicht zurück.
Die Nachricht wird per Serial von einem Pi auf einen Arduino (bis hier hin läufts) und zurück geschickt.
Jede Hilfe wilkommen.
Ursprünliche Nachricht: [123.4567 765.4321 1 0]
als String (zwischenschritt): '123.4567 765.4321 1 0\n'
als uint8: [49 50 51 46 52 53 54 55 32 32 32 32 32 32 55 54 53 46 52 51 50 49 32 32 32 32 32 32 32 32 32 32 32 32 32 49 32 32 32 32 32 32 32 32 32 32 32 32 32 48 10]
Ich empfange die nachricht auf dem Pi auch wieder so wie als uint8. Als char umwandeln geht auch (sollte zumindest, SIMULINK will die Char nicht ausgeben), aber von da wieder als Zahl nicht. In MATLAB ist das kein Problem da läuft das mit str2num einfach.
5 件のコメント
madhan ravi
2024 年 1 月 5 日
“Da die direkte umwandlung nicht geht” erklär das mit einem Beispiel. Wie umwandelst du? Zeig dein Model Bild.
Simon Schirk
2024 年 1 月 5 日
Als ich verstanden habe. Im gegebenen Beispiel, die erwartete Antwort ist:
[0, 7] ?
char_array = [' 0 / 7 @ A']
wanted_array = str2double(regexp(char_array, '(\d*\.\d+)|\d*', 'match'))
madhan ravi
2024 年 1 月 5 日
Klar, siehe meine Antwort unten.
採用された回答
その他の回答 (0 件)
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!