C-MEX S-Function でデータタイプが可変の信号を入出力するには、どのように記述すれば良いですか?
2 ビュー (過去 30 日間)
古いコメントを表示
MathWorks Support Team
2013 年 10 月 25 日
編集済み: MathWorks Support Team
2021 年 3 月 11 日
C-MEX S-Function の入力信号のデータタイプが可変である場合、どのように記述して S-Function を作成すれば良いか教えて下さい。
採用された回答
MathWorks Support Team
2021 年 3 月 11 日
編集済み: MathWorks Support Team
2021 年 3 月 11 日
入出力ポートのデータタイプを ssSetInputPortDataType 、 ssSetOutputPortDataType を使って DYNAMICALLY_TYPED に設定し、出力関数内においては、 ssGetInputportDataType 及び ssGetOutputPortDataType を使って取得したデータタイプ ID ごと、入出力変数のデータタイプをキャストしながらの場合分け処理を記述することで実現可能です。
各 API については、次の URL のページよりドキュメントを参照することができます。
ssSetInputPortDataType
ssSetOutputPortDataType
ssGetInputPortDataType
ssGetOutputPortDataType
一例として、ソース、 MDL ファイルが"関連ドキュメント"よりダウンロード可能です。
コマンドラインより、
>> mex mysfcn_ddtype.c
とタイプインして MEX ファイルを作成後、シミュレーションの実行、結果を確認することができます。
この例の S-Function では、入力に double, single, int16 のいずれかのデータを許容することを想定しています。
0 件のコメント
その他の回答 (0 件)
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!