Simulinkでは、複数のバスで同じ(些細ではない)操作を実行する必要があります。 私はその操作をサブシステムとして実装して再利用することを考えましたが、うまくいきませんでした。Simulink/Reuseサブシステムのバス信号をコピーせずに反復する
バス内の信号/バスを繰り返し処理して、同じ操作を複数回適用し、結果を再度バンドルすることができるのだろうかと思います。どうすればいい?
Simulinkでは、複数のバスで同じ(些細ではない)操作を実行する必要があります。 私はその操作をサブシステムとして実装して再利用することを考えましたが、うまくいきませんでした。Simulink/Reuseサブシステムのバス信号をコピーせずに反復する
バス内の信号/バスを繰り返し処理して、同じ操作を複数回適用し、結果を再度バンドルすることができるのだろうかと思います。どうすればいい?
私は今このソリューションをテストするMatlabを持っていません。私はあなたのバスがすべて同じ次元と構造であると仮定します。
inport
とoutport
を設定するバスエディター(あなたのバスの 共通の構造に対応する)bus selector
を使用してデータを分解し、 操作を実行し、bus creator
でバスを再構成します。セレクタ/作成者の名前 は、定義したタイプの名前です。ライブラリブロックは私が今やっていることです。バスの要素の数に依存しない一般的な解決策がありますか?foreachループのようなものですか? – sunside
あなたはどのリリースをお使いですか? R2010b以降を使用している場合は、バスのアレイとfor-eachサブシステムを使用できます。この仕組みの詳細については、documentationを参照してください。これは、繰り返したいバスがまったく同じ構造を持つ場合にのみ機能します。
サブシステムで発生した問題についてもう少し詳しく教えてください。それはバス間の信号の異なる名前に関連していますか? –
私はサブシステムを別々のモデルにする必要があります。彼らはアクセラレータモードでは、コンパイルされませんが、私は通常のモードに私は1つのインスタンスを使用することができますに切り替えるとき。 – sunside