0

mxsf という S-Function があります。次のコマンドを実行すると:

mxhandle = get_param(mxsf, 'Handle')

もちろんハンドルが返されますが、88.0012 ではなく [88.0012] として返されます。matlab/Simulink とのインターフェイス用の社内 .NET ライブラリがあり、Simulink 内の変数の double を取得することになっている関数がありますが、double が括弧の間にあると機能しません。get_param がハンドルを配列に貼り付けずに返すようにするにはどうすればよいですか? また、これが常に発生するとは限らないことにも注意してください (get_param は配列に入れずにハンドルを取得することがありますが、これを強制する方法がわかりません)。これに関するヘルプは大歓迎です。

4

1 に答える 1

1

ブロック パスを文字列として返す add_block() を取得できません。double を返し続けます (Simulink ブロック ハンドルでしょうか?)。add_block() 呼び出し構文は何ですか?

私の推測では、add_block() はブロック パスを含むセル配列を返すため、get_param() は配列を返します。試す

mxhandle = get_param(mxsf{1}, 'Handle')
于 2011-04-19T20:08:09.437 に答える