Main Content

signalbuilder

(非推奨) Signal Builder ブロックを作成してアクセスする

Signal Builder ブロックは推奨されません。代わりに、Signal Editor ブロックを使用してください。

説明

[time,data] = signalbuilder(block) は、Signal Builder ブロック block の時間とデータを返します。

[time,data,signames] = signalbuilder(block) は、信号名 signames、および時間とデータを返します。

[time,data,signames,groupnames] = signalbuilder(block) は、信号名 signames、グループ名 groupnames、および時間とデータを返します。

block = signalbuilder(path,'create',time,data) は、指定の時間とデータで path に新しい Signal Builder ブロックを作成します。信号名およびグループ名は既定です。

block = signalbuilder(path,'create',time,data,signames,groupnames) は、指定の時間とデータ、信号名、グループ名で path に新しい Signal Builder ブロックを作成します。

block = signalbuilder(path,'create',time,data,signames,groupnames,vis) は、新しい Signal Builder ブロックを作成し、行列 vis の値に基づいて各グループ内に可視信号を設定します。

block = signalbuilder(path,'create',time,data,signames,groupnames,vis,pos) は、新しい Signal Builder ブロックを作成し、そのブロックの位置を pos に設定します。

表示範囲よりも小さい信号または 0 から始まらない信号を作成すると、Signal Builder ブロックは未定義の信号データを外挿します。これは最後の値を保持することで行われます。

block = signalbuilder(path,'create',time,data,signames,groupnames,vis,pos,{openui openmodel}) は、新しい Signal Builder ブロックを作成し、モデルと Signal Builder ブロック ウィンドウを開くか、バックグラウンド処理で読み込みます。

block = signalbuilder(block,'appendgroup',time,data,signames,groupnames) は、Signal Builder ブロック block に対する signames を含む新しいグループ (groupnames) を追加します。引数 timedata の信号の数は、既存のブロックと同じでなければなりません。

signalbuilder(block,'appendgroup',ds) は、データセットを 1 つ追加します。

signalbuilder(block,'appendgroup',[ds1 ...dsN]) は、N 個のデータセットを追加します。

signalbuilder(block,'appendsignal',time,data,signames) は、Signal Builder ブロック block のすべての信号グループに新しい信号を追加します。すべてのグループに同じ信号を追加するか、異なるグループに異なる信号を追加することができます。追加する信号に関係なく、すべてのグループに同数の信号を追加してください。ブロック内のすべてのグループに信号を追加してください。一部のグループに信号を追加することはできません。そのため、1 つのグループに time 引数と data 引数を指定するか (すべてのグループに同じ情報を追加)、異なるグループに異なる time 引数と data 引数を指定します。

signalbuilder(block,'showsignal',signal,group) は、Signal Builder ブロックで非表示になっている signals を表示します。既定では、現在アクティブなグループの信号は作成時に可視になっています。

signalbuilder(block,'hidesignal',signal, group) は、Signal Builder ブロックで非表示になっている信号 signal を表示します。既定では、すべての信号が作成時に可視になっています。

[time,data] = signalbuilder(block,'get',signal,group) は、指定した信号とグループの、時間値とデータ値を取得します。

ds = signalbuilder(block,'get',group) は、要求された 1 つの Signal Builder グループの 1 つ以上のデータセットを取得します。r は、要求された N 個の Signal Builder グループの N 個のデータセットを取得します。

[ds, …dsN] = signalbuilder(block,'get',group) は、要求された N 個の Signal Builder グループの N 個のデータセットを取得します。

signalbuilder(block,'set',signal,group,time,data) は、指定した信号とグループの、時間値とデータ値を設定します。グループや信号を削除するには、timedata に空の値を使用します。信号グループを削除するには、同じコマンドでそのグループのすべての信号も削除しなければなりません。

signalbuilder(block,'set',group,ds) は、要求された Signal Builder グループの 1 つのデータセットを設定します。空のデータセットを指定すると、group で指定されたグループが削除されます。

signalbuilder(block,'set',group,[ds1 ...dsN]) は、要求された N 個のグループの N 個のデータセットを設定します。

index = signalbuilder(block,'activegroup') は、アクティブ グループのインデックスを取得します。

[index, activeGroupLabel] = signalbuilder(block,'activegroup') は、アクティブ グループのラベルの値を取得します。

signalbuilder(block,'activegroup',index) は、アクティブ グループをインデックス付きアクティブ グループに設定します。

signalbuilder(block,'annotategroup') は、Signal Builder ブロックのマスクにおける現在のグループ名の表示を制御します。'annotategroup' は次のいずれかになります。

  • 'on' — 現在のグループ名を表示

  • 'off' — 現在のグループ名を非表示

signalbuilder(block,'print',config,printArgs) は、現在アクティブな信号グループまたは config で指定された信号グループを印刷します。config を使用して信号グループの印刷外観をカスタマイします。

figh = signalbuilder(block,'print',config,'figure') は、現在アクティブな信号グループまたは config が指定する信号グループを新しい非表示の Figure ハンドル figh に出力します。

すべて折りたたむ

新しいモデル エディター ウィンドウに Signal Builder ブロックを作成します。

block = signalbuilder([], 'create', [0 5], {[2 2];[0 2]});

このブロックから、Signal Builder データを取得します。

[time, data, signames, groupnames] = signalbuilder(block)
time =

  2×1 cell array

    {1×2 double}
    {1×2 double}

data =

  2×1 cell array

    {1×2 double}
    {1×2 double}

signames =

  1×2 cell array

    {'Signal 1'}    {'Signal 2'}

groupnames =

  1×1 cell array

    {'Group 1'}

Signal Builder ブロックは、1 つのグループに 2 つの信号を含みます。グループの 2 番目の信号を変更します。

signalbuilder(block, 'set', 2, 1, [0 5], [2 0]);

信号名とグループ名を使って、これと同じ変更を行うには、以下を実行します。

signalbuilder(block, 'set', 'Signal 2', 'Group 1', [0 5], [2 0])

2 つの信号グループを含む Signal Builder ブロックを作成し、その信号グループの 1 つを削除します。

block = signalbuilder([], 'create', [0 2], {[0 1],[1 0]});

Signal Builder ブロックは 2 つのグループをもち、各グループは、それぞれ 1 つの信号を含みます。

2 番目のグループを削除するには、その信号も削除します。

signalbuilder(block, 'set', 1, 2, [], [])

2 つのグループをもつ 1 つの Signal Builder を作成します。各グループは、それぞれ 3 つの信号を含みます。

block = signalbuilder([], 'create', [0 1], ...
         {[0 0],[1 1];[1 0],[0 1];[1 1],[0 0]});

新しいモデル エディター ウィンドウに Signal Builder ブロックを作成します。

block = signalbuilder([],'create',{[0 10],[0 20]},{[6 -6],...
[2 5]});

Signal Builder ブロックには 2 つのグループがあります。各グループは、それぞれ 1 つの信号を含みます。

新しい信号グループを既存のブロックに追加します。

block = signalbuilder(block,'appendgroup',[0 30],[10 -10]);

新しい信号 sig3 をすべてのグループに追加します。

signalbuilder(block,'appendsignal',[0 30],[0 10],'sig3');

新しいモデル エディター ウィンドウに Signal Builder ブロックを作成します。

time = [0 1];
data = {[0 0],[1 1];[1 0],[0 1];[1 1],[0 0]};
block = signalbuilder([], 'create', time, data);

Signal Builder ブロックには 2 つのグループがあります。各グループは、それぞれ 3 つの信号を含みます。

2 番目のグループを削除します。信号グループを削除するには、グループ内のすべての信号も削除します。

signalbuilder(block, 'set',[1,2,3],'Group 2',[]);

新しいモデル エディター ウィンドウに Signal Builder ブロックを作成し、信号を非表示にします。

block = signalbuilder([], 'create', [0 5], {[2 2];[0 2]});

Signal Builder ブロックは、2 つの信号を含む 1 つのグループをもちます。

信号 Signal 1 を非表示にします。

signalbuilder(block,'hidesignal','Signal 1', 'Group 1')

Signal Builder ブロックに Signal 1 が表示されなくなります。

Signal 1 を再度表示します。

signalbuilder(block,'showsignal','Signal 1', 'Group 1')

新しいモデル エディター ウィンドウに 2 つの Signal Builder ブロックを作成します。

block = signalbuilder([], 'create', [0 5], {[2 2];[0 2]});
block1 = signalbuilder('untitled/Signal Builder1', 'create', [1 2], {[1 2];[0 10]});

block のグループ 1 のデータセットを取得します。

ds=signalbuilder(block,'get',1);

block1 のグループ 1 のデータセットを取得します。

ds1=signalbuilder(block1,'get',1);

block のグループ 1 のデータセットを ds1 に設定します。

signalbuilder(block,'set',1,ds1);

block (ds) のグループ 1 のオリジナル データセットを block に追加します。

signalbuilder(block,'appendgroup',ds);

block に 3 番目のグループを作成するには、ds1block 内のグループの最後に追加します。

signalbuilder(block,'appendgroup',ds1);

入力引数

すべて折りたたむ

Signal Builder ブロックのハンドルまたは名前。この引数の [] を指定する場合、ブロックはパス 'untitled/Signal Builder' をもちます。

例: 'untitled/Signal Builder'

例: block_handle = gcbh

データ型: char | string

ブロックの構成によって time の形式を指定します。

data が cell 配列であり、time がベクトルである場合、time の値は、data の要素ごとにコピーされます。time および data 内の各ベクトルは、長さが同じでなければならず、少なくとも 2 つの要素をもたなければなりません。time が cell 配列である場合、列のすべての要素が、同じ初期値と同じ最終値をもたなければなりません。

構成

時間形式

1 信号、1 グループ

ブレークポイントの行ベクトル

1 信号、1 グループ

列セル ベクトル。各要素は個々の信号に対応し、点の行ベクトルが含まれる。

1 信号、1 グループ

列セル ベクトル。各要素は個々のグループに対応し、点の行ベクトルが含まれる。

1 信号、1 グループ

セル行列。各要素 (i,j) は信号 i とグループ j に対応する。

依存関係

signalbuilder が既存ブロックを対象に呼び出される場合、引数 time が既存ブロックと同数の信号をもたなければなりません。

データ型: double

ブロックの構成によって data の形式を指定します。

data が cell 配列であり、time がベクトルである場合、time の値は、data の要素ごとにコピーされます。time および data 内の各ベクトルは、長さが同じでなければならず、少なくとも 2 つの要素をもたなければなりません。time が cell 配列である場合、列のすべての要素が、同じ初期値と同じ最終値をもたなければなりません。

構成

Time/Data の形式

1 信号、1 グループ

ブレークポイントの行ベクトル

1 信号、1 グループ

列セル ベクトル。各要素は個々の信号に対応し、点の行ベクトルが含まれる。

1 信号、1 グループ

列セル ベクトル。各要素は個々のグループに対応し、点の行ベクトルが含まれる。

1 信号、1 グループ

セル行列。各要素 (i,j) は信号 i とグループ j に対応する。

データ型: double

ブロック マスクでの信号グループ情報を表示する命令を含む構成の構造体。印刷の前に、これらのフィールドの 1 つ以上を使用して構造体を設定します。

フィールド説明値の例
groupIndex

表示する信号グループのインデックスを指定するスカラー。

2
timeRange

表示する時間範囲を指定する 2 要素ベクトル。この範囲は、ブロックの時間範囲を超えないようにしてください。

[3 6]
visibleSignals

表示する信号のインデックスを指定するベクトル。

[1 2]
yLimits

各信号の y 軸の範囲を指定する cell 配列。

{[-1 1],
 [0 1]}

extent

次の形式の 2 要素ベクトル:

[width, height]

信号を表示する領域の次元をピクセル単位で指定します。

[500 300]
showTitle

タイトルを表示するかどうかを指定する論理値。true (1) は、タイトルを表示します。

false

たとえば、構成の構造体 configstruct を使用してグループ 2 のみを印刷する場合は、次のように構造体を設定します。その他のフィールドを指定する必要はありません。

configstruct.groupIndex=1

例: configstruct

データ型: char | string

新しい Signal Builder ブロックを作成します。

データ型: char | string

信号名。' '{}、文字ベクトル、または文字ベクトルの cell 配列として指定します。

' ' または {} の値を指定すると、関数は新しいグループに既存の信号名を使用します。

データ型: char | string

グループ名。文字ベクトルまたは文字ベクトルの cell 配列として指定します。

データ型: char | string

絶対ブロック パスとして指定されるブロックパス。新しいモデル untitledSignal BuilderSignal Builder という名前で作成するには、[] を指定します。

データ型: char | string

行列として指定される信号の可視性。Signal Builder ブロックは、行列 vis の値に基づいて各グループ内に信号を表示します。この行列は cell 配列 data と同じサイズでなければなりません。すべての信号を不可視にした Signal Builder ブロックを作成することはできません。たとえば、すべての信号の vis パラメーターを 0 に設定しても、最初の信号は可視になります。

データ型: double

モデル内のブロック位置。[x y right bottom] として指定します。

データ型: double

Signal Builder ブロック ダイアログ ボックスを、関数 signalbuilder による作成時に開きます。0 または 1 として指定します。

データ型: double

関数 signalbuilder による作成時にモデルを開きます。次のいずれかとして指定します。

  • 0 — モデルを読み込むが開かない

  • 1 — モデルを開く

データ型: double

Signal Builder 内のすべての信号グループに新しい信号を追加します。すべてのグループに同じ信号を追加するか、異なるグループに異なる信号を追加することができます。追加する信号に関係なく、すべてのグループに同数の信号を追加してください。ブロック内のすべてのグループに信号を追加してください。一部のグループに信号を追加することはできません。

データ型: char | string

Signal Builder ブロック内の既存信号グループと回数および信号要素が同じである新しい信号グループを追加

showsignal メソッドおよび hidesignal メソッドに対して group 引数の値を指定しないと、signalbuilder によりすべての信号とグループに操作が行われます。

データ型: char

入力引数に基づいて値を設定します。

  • time および data — 時間値およびデータ値を返す

  • dsSimulink.SimulationData.Dataset オブジェクトを返す

データ型: char

出力引数に基づいて値を取得します。

  • [time, data] — 時間値およびデータ値を返す

  • [ds, ...dsN]Simulink.SimulationData.Dataset オブジェクトを返す

データ型: char | string

信号グループの 1 つ以上の信号を表示します。グループが指定されていない場合、すべての信号およびグループが表示されます。

データ型: char | string

信号グループの 1 つ以上の信号を非表示にします。グループが指定されていない場合、すべての信号およびグループが非表示になります。

データ型: char

時系列要素のデータセット。Simulink.SimulationData.Dataset オブジェクトとして指定します。

データ型: double

時系列要素の 1 つ以上のデータセット。Simulink.SimulationData.Dataset オブジェクトとして指定します。

例: [ds1 ds2 ds3]

データ型: double

信号名、スカラー インデックス、信号インデックスの配列として指定された信号。

データ型: char | double | string

グループ名、スカラー インデックス、グループ インデックスの配列として指定された信号グループ。

データ型: char | double | string

アクティブな信号グループ インデックス。

データ型: double

現在アクティブな信号グループの取得。

データ型: char | string

Signal Builder ブロック マスクでのアクティブな信号グループ名表示について、次のとおりです。

  • 'on' — ブロック マスクでアクティブな信号グループ名を表示する

  • 'off' — ブロック マスクでアクティブな信号グループ名を表示しない

データ型: char | string

信号グループを印刷します。

データ型: char | string

印刷オプションを設定します (print を参照)。

Signal Builder ブロックの内容全体を印刷するには、[] を指定します。

データ型: char | string

Signal Builder ブロックの内容を含む Figure を作成します。

データ型: char | double | string

出力引数

すべて折りたたむ

Signal Builder ブロックの時間。行ベクトル、列セル ベクトル、行セル ベクトル、セル行列として返されます。Signal Builder については、時間は x - 座標です。

time はブロック構成に応じて異なる形式で返されます。

構成

時間形式

1 信号、1 グループ

ブレークポイントの行ベクトル

1 信号、1 グループ

列セル ベクトル。各要素は個々の信号に対応し、点の行ベクトルが含まれる。

1 信号、1 グループ

列セル ベクトル。各要素は個々のグループに対応し、点の行ベクトルが含まれる。

1 信号、1 グループ

セル行列。各要素 (i,j) は信号 i とグループ j に対応する。

Signal Builder ブロック。1 次元配列として返されます。Signal Builder については、時間は y - 座標です。

data はブロック構成に応じて異なる形式になります。

構成

データ形式

1 信号、1 グループ

ブレークポイントの行ベクトル

1 信号、1 グループ

列セル ベクトル。各要素は個々の信号に対応し、点の行ベクトルが含まれる。

1 信号、1 グループ

列セル ベクトル。各要素は個々のグループに対応し、点の行ベクトルが含まれる。

1 信号、1 グループ

セル行列。各要素 (i,j) は信号 i とグループ j に対応する。

データセットには信号グループ内の信号と同じ数の要素がなければなりません。関数 setappend、および appendgroup のデータセット形式の制限には、次のようなものがあります。

  • 要素は MATLAB® 時系列データでなければならない。

    時系列データおよび/または時間を空にすることはできない。

  • 時系列データは double 型でなければならない。

  • 時系列データは 1 次元でなければならない (毎回スカラー値)。

文字ベクトルまたは文字ベクトルの cell 配列として返される信号名。

Signal Builder ブロックのパスまたはハンドル。ブロック作成またはコマンド追加によって返されます。

時系列データ要素のデータセット。Simulink.SimulationData.Dataset オブジェクトとして返されます。

時系列要素の 1 つ以上のデータセット。Simulink.SimulationData.Dataset オブジェクトとして返されます。

アクティブな信号グループ インデックス。

アクティブなグループ ラベル。インデックスとして返されます。

Figure ハンドル。Signal Builder ブロックの内容が非表示 Figure に印刷されると返されます。

詳細

すべて折りたたむ

欠損データ値の内挿

正弦波などの周期的な信号を指定した場合、関数 signalbuilder は線形ラグランジュ内挿を使用して、データが関数 signalbuilder から与えられるタイム ステップの間に発生するタイム ステップのデータ値を計算します。周期的な信号を指定する場合は、次のようにサンプル時間の倍数の形式の時間ベクトルとして指定します。

t = 0.2*[0:49]';
R2007a で導入