Main Content

Simulink.ModelDataLogs

(非推奨) ModelDataLogs 形式を使用してログ記録されたデータの信号データ ログにアクセス

    ModelDataLogs 形式を使用したデータのログ記録と読み込みの機能は削除されました。代わりに、[データセット] 形式など、サポートされる別の形式を使用してください。詳細については、互換性についての考慮事項を参照してください。

    説明

    Simulink.ModelDataLogs オブジェクトには、[ModelDataLogs] 形式を使用してデータをログ記録するモデルのシミュレーションでログ記録されたすべてのデータが格納されます。

    作成

    R2016a より前までは、[ModelDataLogs] 形式を使用してデータをログ記録するようにモデルを構成できました。[信号のログ形式] パラメーターが [ModelDataLogs] に設定されたモデルをシミュレートすると、すべてのログ信号のデータを格納する Simulink.ModelDataLogs オブジェクトが作成されていました。[ModelDataLogs] オブジェクトの名前は [信号のログ名] パラメーターを使用して指定できました。

    プロパティ

    すべて展開する

    ログ データのプロパティ

    Simulink.ModelDataLogs オブジェクトには、シミュレーションでログ記録された信号データについてのプロパティが格納されます。ログ データを格納するプロパティの数、タイプ、および名前は、モデルの構造とログの構成で決まります。

    プロパティ名のソースログ データのソース
    モデル名最上位モデルまたはモデル参照Simulink.ModelDataLogs
    サブシステム名サブシステムSimulink.SubsysDataLogs
    信号名信号Simulink.Timeseries
    mux またはバーチャル バス名mux またはバーチャル バスSimulink.TSArray
    バス オブジェクト非バーチャル バスSimulink.TSArray

    ModelDataLogs オブジェクト内の ModelDataLogs オブジェクトと SubsysDataLogs オブジェクトの階層は、モデルの階層と一致します。バスの Simulink.TSArray オブジェクトの階層は、バスの階層と一致します。

    モデル プロパティ

    モデルまたは Model ブロックの名前。文字ベクトルとして返されます。最上位モデルの Name プロパティの値は、モデルの名前です。参照モデルの Name プロパティの値は、モデルを参照する Model ブロックの名前です。

    オブジェクト関数

    convertToDataset(非推奨) ModelDataLogs 形式を使用してログ記録されたデータを Dataset 形式に変換
    unpack(Not recommended) Extract signal data from ModelDataLogs, SubsysDataLogs, or TSArray object into workspace variables
    who(Not recommended) List names of objects inside ModelDataLogs, SubsysDataLogs, or TSArray object
    whos(Not recommended) List name and type of objects inside ModelDataLogs, SubsysDataLogs, or TSArray object

    すべて折りたたむ

    次のような信号がログ記録されると、ModelDataLogs オブジェクトのプロパティ名にスペースや改行文字が含まれることがあります。

    • 名前にスペースまたは改行文字が含まれている

    • 名前は付けられていないが、名前にスペースまたは改行文字を含むブロックから発生している

    • サブシステムまたは参照モデル内に存在し、サブシステム、Model ブロック、またはモデルの階層構造にあるいずれかの上流のブロックの名前にスペースまたは改行文字が含まれている

    次のモデルは、名前にスペースや改行文字を含む信号をログ記録します。

    A model that contains three Sine Wave blocks connected to output ports with three signals marked for logging.

    logsout
    logsout =
     
    Simulink.ModelDataLogs (model_name):
      Name                   Elements  Simulink Class
    
      ('x y')                   1      Timeseries
      ('a
    b')                   1      Timeseries
      ('SL_Sine
    Wave1')         1      Timeseries

    この ModelDataLogs オブジェクトの要素に、タブ補完やドットの後に名前を入力する方法を使用してアクセスすることはできません。MATLAB® パーサーは、スペースまたは改行文字を識別子間の区切り文字として解釈します。たとえば、次のコードはエラーになります。

    logsout.x y
    
    ??? logsout.x y
                  |
    Error: Unexpected MATLAB expression.

    名前にスペースを含む要素にアクセスするには、名前を一重引用符で囲みます。

    logsout.('x y')
           Name: 'x y'
         BlockPath: 'model_name/Sine'
         PortIndex: 1
        SignalName: 'x y'
        ParentName: 'x y'
          TimeInfo: [1x1 Simulink.TimeInfo]
              Time: [51x1 double]
              Data: [51x1 double]

    名前に改行文字を含む要素にアクセスするには、改行文字を適切な位置で連結して要素名を構成します。

    cr=sprintf('\n')
    logsout.(['a' cr 'b'])

    バージョン履歴

    R2006a より前に導入

    すべて展開する

    R2022b: ModelDataLogs 形式で保存されたデータの読み込みのサポート終了

    R2022b 以降、ModelDataLogs 形式で格納されたデータは読み込めなくなります。これには、Simulink.TimeseriesSimulink.TSArraySimulink.SubsysDataLogs の各オブジェクトに格納されたデータが含まれます。

    ModelDataLogs 形式で格納されたデータは [データセット] 形式に変換できます。詳細については、Dataset 形式へのデータの変換を参照してください。