Main Content

setElement

指定されたインデックスに格納された Simulink.SimulationData.Dataset オブジェクトの要素を変更

説明

ds = setElement(ds,idx,el) は、指定されたインデックス ids に格納された要素を要素 el に置き換えます。idxDataset オブジェクト ds の要素数よりも 1 大きい場合、関数は要素 elDataset オブジェクト ds の末尾に追加します。

ds = setElement(ds,idx,el,name) は、要素に name で指定された名前を付けます。名前のない要素は、name で識別できます。要素に既に名前がある場合、関数はその名前を name 引数で指定された名前に置き換えます。

すべて折りたたむ

関数 setElement を使用して以下を行います。

  • Simulink.SimulationData.Dataset オブジェクトの要素の名前を変更する。

  • Dataset オブジェクトに新しい要素を追加する。

  • Dataset オブジェクトの要素を別の要素に置き換える。

Dataset オブジェクトを作成します。

ds = Simulink.SimulationData.Dataset;

Signal オブジェクトを 4 つ作成します。

el1 = Simulink.SimulationData.Signal;
el1.Name = 'A';
el2 = Simulink.SimulationData.Signal;
el2.Name = 'B';
el3 = Simulink.SimulationData.Signal;
el3.Name = 'C';
el4 = Simulink.SimulationData.Signal;
el4.Name = 'D';

A および B という名前の Signal オブジェクトを Dataset オブジェクトに追加します。

ds = addElement(ds,el1);
ds = addElement(ds,el2)
ds = 
Simulink.SimulationData.Dataset '' with 2 elements

                         Name  BlockPath 
                         ____  _________ 
    1  [1x1 Signal]      A     ''       
    2  [1x1 Signal]      B     ''       

  - Use braces { } to access, modify, or add elements using index.

関数 setElement を使用して Dataset オブジェクトの要素の名前を変更できます。2 番目の信号の名前を B から Bchanged に変更します。

ds = setElement(ds,2,el2,"Bchanged")
ds = 
Simulink.SimulationData.Dataset '' with 2 elements

                         Name      BlockPath 
                         ________  _________ 
    1  [1x1 Signal]      A         ''       
    2  [1x1 Signal]      Bchanged  ''       

  - Use braces { } to access, modify, or add elements using index.

Dataset オブジェクト ds には要素が 2 つ格納されているため、関数 setElement でインデックス 3 を使用して C という名前の要素を Dataset オブジェクトに追加できます。

ds = setElement(ds,3,el3)
ds = 
Simulink.SimulationData.Dataset '' with 3 elements

                         Name      BlockPath 
                         ________  _________ 
    1  [1x1 Signal]      A         ''       
    2  [1x1 Signal]      Bchanged  ''       
    3  [1x1 Signal]      C         ''       

  - Use braces { } to access, modify, or add elements using index.

また、関数 setElement を使用して特定の要素を別の要素に置き換えることもできます。A という名前の要素を D という名前の要素に置き換えます。

ds = setElement(ds,1,el4)
ds = 
Simulink.SimulationData.Dataset '' with 3 elements

                         Name      BlockPath 
                         ________  _________ 
    1  [1x1 Signal]      D         ''       
    2  [1x1 Signal]      Bchanged  ''       
    3  [1x1 Signal]      C         ''       

  - Use braces { } to access, modify, or add elements using index.

入力引数

すべて折りたたむ

要素を設定する Dataset オブジェクト。Simulink.SimulationData.Dataset オブジェクトとして指定します。

要素のインデックス。正の整数として指定します。

  • 既存の要素を変更するには、インデックスが Dataset オブジェクトの要素数以下でなければなりません。

  • 要素を追加するには、インデックスが Dataset オブジェクトの要素数よりも 1 大きくなければなりません。

既存の要素を置き換える要素またはデータ セットに追加する要素。Simulink.SimulationData.Dataset オブジェクトの要素として指定します。

シミュレーション データのログ記録で作成された Dataset オブジェクトの場合、それぞれの要素に、ログ記録された 1 つの信号、出力、データ ストア、または状態のデータが格納されます。各要素はオブジェクトであり、オブジェクトのタイプは格納されるデータによって異なります。

シミュレーション入力データをグループ化する Dataset オブジェクトを作成する場合は、各要素に信号、バス、またはバス配列のデータが格納されます。使用する読み込み方法でサポートされる任意の形式でデータを追加できます。

入力のタイプデータ形式

スカラー、ベクトル、または多次元信号

バス

  • バスの階層と一致する timeseriestimetable、または matlab.io.datastore.SimulationDatastore のいずれかのオブジェクトの構造体

  • Simulink.SimulationData.Signal

バス配列

  • 構造体の配列

  • Simulink.SimulationData.Signal

関数呼び出し信号

  • N 行 1 列のベクトル

  • Simulink.SimulationData.Signal

要素の名前。string または文字ベクトルとして指定します。

出力引数

すべて折りたたむ

要素を変更するデータ セット。文字ベクトルとして指定します。

代替方法

setElement を使用する代わりに、中かっこを使用してインデックス構文を効率化し、Dataset オブジェクト内の要素を変更できます。インデックスは、変数の要素数以下の正の整数でなければなりません。たとえば、Dataset オブジェクト logsout の 2 番目の要素の名前を変更します。

logsout{2}.Name = 'secondSignal'

バージョン履歴

R2011a で導入