2016-09-23 11 views
1

バス信号としてMATLAB Function blockからデータを出力しようとしました。あなたは今、仮想でも非仮想でもあります。MATLABファンクションブロックが仮想バスとして出力する

回避策

私は非仮想として、それを作成する方法を知っている: 1.ワークスペースにバスオブジェクトを作成します。

bussignal(1) = Simulink.BusElement; 
bussignal(1).Name = 'Q'; 
MyBus = Simulink.Bus; 
MyBus.Elements = bussignal; 

2.モデルエクスプローラでBus: myBusとしての私の機能ブロックの出力プロパティを定義します。私は構造として今、この変数Dを使用することができ、私の関数の内部enter image description here 3。 そして、私は非仮想出力を得る: enter image description here

質問:それは仮想にする方法 ? データのコピーを作成せず、構造を作成しない(追加のメモリ割り当てを避ける)ので、大きなプロジェクトではより高速に動作できるので、仮想を使用したいと思います。 私はたくさんの出力を作り、Bus Creatorブロックを使うことができますが、Function内でプログラムでそれを行う方法はありますか?

答えて

1

MATLAB Functionは、非仮想バスのみをサポートします。仮想バス信号入力を非仮想バスに変換します。あなたが非連続メモリを持つことができ、それは仮想することはできませんMATLAB FunctionブロックでのMATLABコードの構造体への入力バスの種類を変換する必要がある場合

http://www.mathworks.com/help/simulink/ug/how-structure-inputs-and-outputs-interface-with-bus-signals.html

でドキュメントを参照してください。

関連する問題