Simulinkを使用して、リアルタイムでTCP/IP経由でリモートサーバーから送信された文字列を処理しています。Simulink m-functionのregexを使用して文字列からn番目のフィールドを抽出します
$FORMAT,YYYY-MM-DD HH:MM:SS.FFF,field1,field2,field3,field4,field5,field6*XX
fields1-3とフィールド5と文字列がfield6です:私はSimulinkでごとに数ミリ秒を取得しています(ASCII整数の形で)文字列は、この(カンマで区切られたフィールド)です。 XXはXORチェックサムです。 Field3は、値の名前は何ですか、Field4には整数値があり、これら2つは正規表現で抽出する必要があるフィールドです。どうすればいいですか?
PS:受信側のSimulink(2016a)にはTCP/IP受信ブロックがあり、その文字列はSimulinkのm関数で処理されるため、通常のMatlabファイルではいくつかの制限があります(例えばstrsplit
メソッドは
いずれのフィールドにもカンマが含まれていますか? – gnovice
番号フィールドには、数字、浮動小数点のドット、およびA〜Zの文字(カンマなし)が含まれます。 – MCLenc