C-MEX S-Function でデータタイプが可変​の信号を入出力するに​は、どのように記述す​れば良いですか?

2 views (last 30 days)
MathWorks Support Team
MathWorks Support Team on 25 Oct 2013
C-MEX S-Function の入力信号のデータタイプが可変である場合、どのように記述して S-Function を作成すれば良いか教えて下さい。

Accepted Answer

MathWorks Support Team
MathWorks Support Team on 11 Mar 2021
Edited: MathWorks Support Team on 11 Mar 2021
入出力ポートのデータタイプを ssSetInputPortDataType 、 ssSetOutputPortDataType を使って DYNAMICALLY_TYPED に設定し、出力関数内においては、 ssGetInputportDataType 及び ssGetOutputPortDataType を使って取得したデータタイプ ID ごと、入出力変数のデータタイプをキャストしながらの場合分け処理を記述することで実現可能です。
各 API については、次の URL のページよりドキュメントを参照することができます。
ssSetInputPortDataType
ssSetOutputPortDataType
ssGetInputPortDataType
ssGetOutputPortDataType
一例として、ソース、 MDL ファイルが"関連ドキュメント"よりダウンロード可能です。
コマンドラインより、
>> mex mysfcn_ddtype.c
とタイプインして MEX ファイルを作成後、シミュレーションの実行、結果を確認することができます。
この例の S-Function では、入力に double, single, int16 のいずれかのデータを許容することを想定しています。

More Answers (0)

Products


Release

R2010b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!