S-Functionブロックのマスクパラメータに、数式が入力されているときに、 S-FunctionブロックのCソース上で、当該パラメータを、数式の演算結果の値として取得する方法について質問があります。 マスクパラメータが1つの数式(例:1.0/5.0)の場合、下記コードにて取得できることは確認できました。 例: mxGetPr(ssGetSFcnParam(S,1)) ※数式が 1.0/5.0 であれば 0.2 が取得されます。
これを応用して、S-Functionブロックの1つのマスクパラメータに 例:1.0/5.0;4.0/5.0;7.0/5.0 のように、 複数の数式が入力されている場合、それぞれを別々に演算結果の値として取得する方法はありますでしょうか。 (※それぞれを別々のマスクパラメータとして設定する---という方法は除外させてください)
ssGetSFcnParam(S,1) でマスクパラメータ全体(例:1.0/5.0;4.0/5.0;7.0/5.0)を取得した後、 「;」で分割、 mexEvalString で演算し、ワークスペースより演算結果を取得する----という方法は思いつくのですが、 当該環境はモデルをビルドして使用したいため、ワークスペースを活用する方法は採用できません。 (※mexEvalString使用時、エラーが出てビルドできない)
モデルをビルドするケースでも使用できる方法はありますでしょうか。