バス配列の要素への代入
この例では、バス配列内のバスにデータを代入する方法を示します。MATLAB Function ブロックでは、バス配列内のバスにデータを直接代入できます。バス配列内の特定の要素に部分的な代入を行うこともできます。
非バーチャル バスを受け取る MATLAB Function ブロックを含むモデル例を開いてコンパイルします。モデルをコンパイルするには、Simulink® ツールストリップの [モデル化] タブで、[モデルの更新] または [実行] をクリックします。モデルをコンパイルするとライン スタイルが更新されます。このライン スタイルは、バスを視覚的に識別するのに使用できます。
mdl = "ArrayOfBusesPartialAssignment"; open_system(mdl) set_param(mdl,SimulationCommand="Update");

In Bus Element ブロックと Out Bus Element ブロックは、A という名前の Simulink.Bus オブジェクトを指定しています。入力バスの階層と指定された属性を表示するには、In Bus Element ブロックをダブルクリックします。

最上位バスは、バス オブジェクト A によって定義された非バーチャル バスです。要素 a は boolean 信号です。要素 a1 はバス配列で、バス オブジェクト B によって定義された非バーチャル バスが 10 個含まれています。バス配列内の各バスは、b と b1 という名前の要素で構成されています。
MATLAB Function ブロックは、ブロックの入出力のデータ型としてバス オブジェクト A を指定しています。この指定を表示するには、MATLAB Function ブロックをダブルクリックします。ツールストリップの [関数] タブで [端子とデータの管理] をクリックします。

MATLAB Function ブロックは、関数を使用して、バス配列内の各バスの要素 b に新しい値を反復して代入します。この関数は、要素 a にも新しい値を代入します。
function y = fcn(u) y = u; y.a = false; for idx = 1:length(y.a1) y.a1(idx).b = int32(zeros(5,1)); end