ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

To Workspace

データを MATLAB ワークスペースに書き込み

ライブラリ

Sinks

説明

To Workspace ブロックは、信号を入力し、信号データを MATLAB® ワークスペースに書き込みます。シミュレーション中、ブロックは内部バッファーにデータを書き込みます。シミュレーションが完了するかまたは一時停止した場合、そのデータはワークスペースに書き込まれます。ブロック アイコンは、データが書き込まれる配列名を表示します。

To Workspace ブロックがデータを書き込むワークスペース変数の名前を指定するには、[変数名] パラメーターを使用します。変数のデータ形式を指定するには、[保存形式] パラメーターを使用します。データの保存には、次のいずれか 1 つの形式を指定できます。

  • MATLAB timeseries オブジェクト (またはバス データに対しては MATLAB timeseries オブジェクトの構造体)

  • 配列

  • 構造体

  • [時間付き構造体]

From Workspace ブロックで使用するためのデータの保存

From Workspace ブロックを使用して、以前のシミュレーションで To Workspace ブロックが保存したサンプルベースのデータを再生するには、To Workspace ブロックで [時系列] 形式または [時間付き構造体] 形式を使用します。

保存したデータ量の制御

可変ステップ ソルバーの場合、To Workspace ブロックに利用できるデータ量を制御するには、[モデル コンフィギュレーション パラメーター][データのインポート/エクスポート][出力オプション] パラメーターを使用します。たとえば、複数のシミュレーションに対して同一の時点で Simulink® にデータを書き込ませる場合は、Produce specified output only オプションを選択します。

その後、To Workspace ブロック パラメーターを使用して、ブロックがこのデータを書き込む時間と量を制御します。

  • [データ点の制限] パラメーターを使用して保存するサンプル点の数を指定します。シミュレーションで指定された最大値以上にデータ点が生成された場合、シミュレーションは最後に生成されたサンプルだけを保存します。すべてのデータを得るには、この値を inf に設定します。

  • [間引き] パラメーターを使用すると、To Workspace ブロックに n 番目のサンプルごとにデータを書き込ませます。n は間引き係数です。既定の間引きは 1 で、すべてのタイム ステップごとにデータを書き込みます。

  • [サンプル時間] パラメーターを使用してデータ点を収集するサンプリング間隔を指定します。このパラメーターは、タイム ステップの間隔が同じでない可変ステップ ソルバーを使用する場合に有効です。既定値は -1 で、その場合は、どの点を書き込むかを決定する際に、接続ブロックからサンプル時間を継承します。詳細は、オンライン ドキュメンテーションの「 サンプル時間の指定」を参照してください。

たとえば、[開始時間] が 0、[データ点の制限] が 100、[間引き] が 1、[サンプル時間] が 0.5 のシミュレーションがあるとします。To Workspace ブロックは、0、0.5、1.0、1.5... 秒の時間値で最大 100 点を収集します。[間引き] 値を 1 に指定すると、各ステップでブロックがデータを書き込むように指示します。

同様の例で、[データ点の制限] は 100、[サンプル時間] は 0.5 ですが、[間引き] を 5 とします。この例で、ブロックは、時間列 0、2.5、5.0、7.5... 秒で最高 100 点まで収集します。[間引き]を 5 と指定すると、ブロックは 5 サンプルごとにデータを書き込みます。サンプル時間によりデータはこれらの点で確実に書き込まれます。

もう 1 つの例では、[データ点の制限] が 3 であることを除いてすべてのパラメーターは最初の例で定義したとおりとします。この場合、最後に収集した 3 つの行のみがワークスペースに書き込まれます。シミュレーション停止時間が 100 の場合、データは 99.0 秒、99.5 秒、および 100.0 秒 (3点) の時間に対応します。

MAT ファイルのログ

[モデル コンフィギュレーション パラメーター][コード生成][インターフェイス][MAT ファイルのログ] パラメーターを有効にすると、To Workspace はそのデータを MAT ファイルに記録します。

フレームベース信号

既定の設定では、To Workspace ブロックは入力信号をサンプルベースとして扱います。

To Workspace ブロックで入力信号をフレームベースとして扱うには、次のように設定します。

  1. [保存形式][配列] または [構造体] に設定

  2. [2 次元信号の保存形式][2 次元配列 (最初の次元に沿って連結)] または [3 次元配列 (3 番目の次元に沿って連結)] に設定

    これらの 2 つを設定してフレームベースのデータを格納する例については、DSP System Toolbox™ ドキュメンテーションの To Workspace ブロックのリファレンス ページを参照してください (これらを設定した場合の結果は To Workspace ブロックでも Signal to Workspace ブロックでも同じになります)。

サポートするデータ型

To Workspace ブロックは、バス オブジェクトの他に、固定小数点や列挙型データなど、Simulink がサポートするすべてのデータ型の実数入力または複素数入力を MATLAB ワークスペースに保存できます。

詳細は、「 Simulink でサポートされているデータ型」を参照してください。

パラメーターとダイアログ ボックス

変数名

データを保存する変数の名前を指定します。

データ点の制限

保存される入力サンプルの最大数を指定します。既定の設定は inf です。

間引き

間引き係数を指定します。既定の設定は 1 です。

保存形式

ワークスペースに保存するシミュレーションの出力形式を次から 1 つ指定します。

  • 時系列 (既定の設定)

    非バス信号入力を MATLAB timeseries オブジェクトとして、また、バス信号入力を MATLAB timeseries オブジェクトの構造体として保存します。

  • 配列

    N 次元配列として入力を保存します。N は入力信号の次元数よりも 1 大きい数値です。たとえば、入力信号がベクトルである場合、結果のワークスペース配列は 2 次元になります。入力信号が行列である場合、配列は 3 次元になります。

    Simulink がサンプルを配列に格納する方法は、入力信号がスカラー、ベクトルまたは行列のいずれであるかによって異なります。入力がスカラーまたはベクトルの場合、各入力サンプルは配列の行として出力されます。たとえば、出力配列の名前が simout であるとします。すると、simout(1,:) は最初のサンプルに対応し、simout(2,:) は 2 番目のサンプルに対応するなどのようになります。入力信号が行列の場合、ワークスペース配列の 3 番目の次元は、指定されたサンプリング点での入力信号の値に対応します。たとえば、simout が結果のワークスペース配列の名前であることをもう一度思い出してください。simout(:,:,1) は、最初のサンプル点での入力信号の値です。simout(:,:,2) は、2 番目のサンプル点での入力信号の値です。

    [配列] を選択した場合、[2 次元信号の保存形式] がパラメーターとして表示されます。

    入力信号をフレームベースとして扱うには、[保存形式][配列] または [構造体] に設定します。

  • 構造体

    この形式は、3 つのフィールドから構成されます。

    • time — このフィールドはこの形式の場合は空です。

    • signals — 次の 3 つのフィールドをもつ構造体。valuesdimensions および labelvalues フィールドは、信号値の配列です。dimensions フィールドは、値配列の次元を指定します。label フィールドは、入力ラインのラベルです。

    • blockName — To Workspace ブロックの名前

    [構造体] を選択した場合、[2 次元信号の保存形式] がパラメーターとして表示されます。

    入力信号をフレームベースとして扱うには、[保存形式][構造体] または [配列] に設定します。

  • [時間付き構造体]

    この形式は、シミュレーション時間ステップのベクトルを時間フィールドが含んでいること以外は、[構造体] と同じです。

    From Workspace ブロックで直接 To Workspace ブロック出力を読み取るには、[時系列] または [時間付き構造体] 形式のいずれかを使用します。詳細は、「信号データをインポートするためのテクニック」を参照してください。

    [時間付き構造体] 形式はフレームベースの信号をサポートしません。代わりに、[配列] または [構造体] の形式を使用してください。

次の表は、各シミュレーション モードでサポートされる [保存形式] の値をまとめたものです。

シミュレーション モード時系列配列構造体時間を含む構造体
ノーマルサポートサポート
アクセラレータサポート参照モデルではなく最上位モデルでのみサポート
ラピッド アクセラレータサポートなし。参照モデルではなく最上位モデルでのみサポート
ソフトウェアインザループ (SIL) サポートなし。MAT ファイルのログが有効になっている場合に参照モデルではなく最上位モデルでのみサポート
プロセッサインザループ (PIL)サポートなし。MAT ファイルのログが有効になっていて利用可能な場合に参照モデルではなく最上位モデルでのみサポート
エクスターナルサポートなし。参照モデルではなく最上位モデルでのみサポート
Simulink Coder™ ターゲットサポートなし。MAT ファイルのログが有効になっている場合に参照モデルではなく最上位モデルでのみサポート

2 次元信号の保存形式

[保存形式][配列] または [構造体] に設定した場合、[2 次元信号の保存形式] がパラメーターとして表示されます。

2 次元信号をワークスペースに保存する形式として次のいずれかを指定します。

  • 3 次元配列 (3 番目の次元に沿って連結) (既定の設定)

    この設定はサンプルベースの信号に適しています。データは 3 番目の次元に沿って連結されます。たとえば、2 行 4 列の 10 個のサンプルの入力行列は 2 x 4 x 10 の配列として格納されます。

  • 2 次元配列 (最初の次元に沿って連結)

    この設定はフレームベースの信号に適しています。データは最初の次元に沿って連結されます。たとえば、2 行 4 列の 10 個のサンプルの入力行列は 20 行 4 列の配列として格納されます。

  • 入力から継承 (この選択肢は今後削除されます — リリース ノートを参照してください)

    これは下位互換性のための設定です。入力信号を将来のリリースでフレームベースとして扱うようにこのブロックを設定するには、[2 次元配列 (最初の次元に沿って連結)] または [3 次元配列 (3 番目の次元に沿って連結)] に設定します。

固定小数点データを fi オブジェクトとしてログ

To Workspace ブロックは、既定の設定では、固定小数点データを Fixed-Point Designer™ の fi オブジェクトとして MATLAB ワークスペースに記録します。このパラメーターをオフにすると、固定小数点データが double としてワークスペースに記録されます。

サンプル時間

データを収集するサンプリング間隔とオフセットを指定します。このパラメーターは、タイム ステップの間隔が一定でない可変ステップ ソルバーを使用する場合に有効です。既定の設定は -1 で、接続ブロックからサンプル時間を継承します。詳細は、「 サンプル時間の指定」を参照してください。

To Workspace ブロックの使用方法については、aero_vibratiaero_vibrati の例を参照してください。

フレームベースのデータを処理する例については、DSP System Toolbox ドキュメンテーションの To Workspace ブロックのリファレンス ページを参照してください (フレームベースのデータの処理方法は、To Workspace ブロックでも Signal To Workspace ブロックでも同じです)。

特性

サンプル時間

[サンプル時間] パラメーターで指定

離散化

あり

多次元化

あり

この情報は役に立ちましたか?