入力がスカラー値か行列かを調べるには、simulink に if/else を実装する必要があります。以下の図を参照してください。
与えられた:
Block(1) - スカラー "1" または行列 "[[0 15];[5 10]]" の入力です。
Block(2) - 入力の信号次元を返す必要があります。例: スカラーの場合は 1、行列の場合は >1
要件は次のとおりです。
- すべてが解釈またはコンパイルされて機能する必要があります (Simulink コーダー)
- ブロック (4) と (5) の最終出力はスカラーです。
- 私はCMexSFunctionsについて平均的に理解しています。したがって、問題を解決するために実装する必要がある場合は問題ありません
これまでのところ、次のような問題がありました。
- 私がやろうとしていることが実現可能であれば、私はまったくしません
- コンパイル済みモードで動作するように Block(2) を実装する方法がわかりません
- if/else があっても、simulink は実行前に事前チェックを実行して、すべての信号の次元が正常かどうかを確認します。このチェック中に、例: Block(5) に行列の入力があるというエラーが表示されます。
手がかりはありますか?