Using Simulink | ![]() ![]() |
ライブラリ
詳細
To Workspaceブロックは、入力データをワークスペースに書き出します。ブロックは、その出力を Variable name パラメータで設定した名前をもつ行列または構造体に、その出力を書き出します。Save format パラメータは、出力フォーマットを決定します。
書き出されるデータの量とデータが書き出される時間ステップは、ブロックパラメータによって決まります。
inf
に設定します。n
番目のサンプルごとにデータを書き出すことができます。n
は間引きファクタです。デフォルトの間引き値は1で、すべての時間ステップごとにデータを書き出します。
シミュレーション中、ブロックは内部バッファにデータを書き出します。シミュレーションが完了するかまたは一時停止した場合、そのデータはワークスペースに書き出されます。ブロックアイコンは、データが書き出される行列名を表示します。
この書式は、3つのフィールド、時間、信号、blockNameをもつ構造体です。時間フィールドは空です。blockNameフィールドは、To Workspaceブロックの名前です。信号フィールドは、2つのフィールド、値とラベルをもった構造体です。値のフィールドは、信号値の行列です。
この書式は、シミュレーション時間ステップのベクトルを時間フィールドが含んでいること以外は、Structureと同じです。
To Workspaceブロックを使って書き出されたデータを保存し、From Fileブロックから後で読み込むためには、時間列をデータに追加し、行列を転置しなければなりません。詳細については、From Fileを参照してください。
To Workspaceブロックを使って、書き出されたデータをFrom Workspaceブロックを用いて別のシミュレーションで"再生"しようとする場合、データにシミュレーション時間値が含まれていなければなりません。時間値を含める方法は、保存フォーマットにより異なります。
保存フォーマットが構造体の場合、Save format の値として Structure with Time
を選択すれば、シミュレーション時間を含めることができます。ブロックは、シミュレーション時間を出力構造体の time
メンバにベクトルで書き出します。
保存フォーマットが行列の場合、行列のシミュレーション時間列を付け加えなければなりません。時間列は、つぎの2つの方法で追加することができます。
t
)を行列に連結することができます。matrix = [t; matrix];
例題
開始時間が0、Maximum number of rows が100、Decimation が1、Sample time が0.5のシミュレーションで、To Workspaceブロックは、時刻列0, 0.5, 1.0, 1.5...秒で最大100点を収集します。Decimation を1に指定すると、ブロックはステップ毎にデータを書き出します。
同様の例題で、Maximum number of rows は100、Sample time は0.5ですが、Decimation を5とします。この例題で、ブロックは、時間列0, 2.5, 5.0, 7.5...秒で最高100点まで収集します。Decimation を5と指定すると、ブロックは5サンプル度にデータを書き出します。サンプル時間によりデータはこれらの点で確実に書き出されます。
別の例題では、Maximum number of rows が3であることを除いてすべてのパラメータは最初の例題で定義したとおりとします。この場合、最後に収集した3つの行のみがワークスペースに書き出されます。シミュレーション停止時間が100の場合、データは99.0秒、99.5秒、および100.0秒(3点)の時間に対応します。
サポートされているデータタイプ
To Workspaceブロックは、MATLABワークスペースに任意の実数または複素数データタイプの入力をセーブします。
パラメータとダイアログボックス
1
。特性
サンプル時間 |
継承 |
ベクトル化 |
可 |
![]() | To File | Transfer Fcn | ![]() |