Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

構造体とフィールドへの値の代入

MATLAB Function ブロックの構造体、サブ構造体、フィールドに値を代入できます。以下がそのガイドラインです。

操作条件
構造体を別の構造体に代入構造体のフィールドの数、データ型、サイズの定義が同じであること。ベース ワークスペースで Simulink.Bus オブジェクトとして定義されている、またはローカル構造体として暗黙的に宣言されていること (MATLAB Function ブロック内での構造体の作成を参照)。
構造体を別の構造体のサブ構造体に代入、またはその逆構造体とサブ構造体のフィールドの数、データ型、サイズの定義が同じであること。ベース ワークスペースで Simulink.Bus オブジェクトとして定義されている、またはローカル構造体として暗黙的に宣言されていること。
構造体の要素を別の構造体の要素に代入要素は同じデータ型とサイズであること。

たとえば、次の表は、MATLAB Function ブロックへのバス信号の付加で説明されているモデルの仕様に基づいた、構造体代入の有効な例と無効な例を示します。

代入有効か無効か理由
outbus = mystruct;有効outbusmystruct も同じ数、データ型、サイズのフィールドをもつ。構造体 outbusSimulink.Bus オブジェクト MainBus によって定義され、mystruct はローカルで MainBus のフィールド プロパティに一致するように定義されている。
outbus = inbus;有効outbusinbus も同じ Simulink.Bus オブジェクト MainBus によって定義されている。
outbus1 = inbus.ele3;有効outbus1inbus.ele3Simulink.Bus オブジェクト SubBus によって定義されているので、同じデータ型とサイズをもつ。
outbus1 = inbus;無効構造体 outbus1 は構造体 inbus とは別の Simulink.Bus オブジェクトによって定義されている。

関連する例

詳細