Main Content

getSimulationMetadata

Simulink.SimulationOutput オブジェクト内のシミュレーション メタデータへのアクセス

    説明

    simMeta = getSimulationMetadata(simOut) は、Simulink.SimulationOutput オブジェクト simOut に保存されているシミュレーション メタデータを返します。シミュレーション メタデータには、モデルに関する情報、シミュレーションの実行およびタイミング、シミュレーション中に発生したエラーと警告に関する詳細が含まれています。

    シミュレーション メタデータは、ドットを使用して SimulationMetadata プロパティの値にアクセスすることによって取得することもできます。

    simMeta = simOut.SimulationMetadata;

    すべて折りたたむ

    シミュレーション結果を単一の出力オブジェクトとして返すようにしてモデルをシミュレートすると、すべてのログ データおよびシミュレーション メタデータに Simulink.SimulationOutput オブジェクトを使用してアクセスできます。

    この例のモデルでは [単一のシミュレーション出力] パラメーターが有効になっており、いくつかの異なるログ記録方法を使用してデータをログに記録します。

    • Sine Wave ブロックの出力は、信号のログを使用してログに記録されます。

    • Gain ブロックの出力は、To Workspace ブロックを使用してログに記録されます。

    • Gain ブロック、Chirp Signal ブロック、Square Wave Generator ブロックの出力は、Record ブロックを使用してログに記録されます。

    • Square Wave Generator ブロックの出力は、出力ログを使用してログに記録されます。

    モデルは時間データを記録するようにも設定されます。

    モデルを開きます。

    mdl = "LoggingBlocks";
    open_system(mdl)

    The model LoggingBlocks.

    Simulink.SimulationInput オブジェクトを作成してシミュレーションをモデル用に構成します。関数 setModelParameter を使用して StopTime パラメーターを 20 に設定します。

    simIn = Simulink.SimulationInput(mdl);
    simIn = setModelParameter(simIn,'StopTime','20');

    モデルをシミュレートします。関数 sim の出力 out は、シミュレーションからログに記録されるすべてのデータが含まれる Simulink.SimulationOutput オブジェクトです。ブロックごと、ログのタイプごとのデータは、ブロックまたはモデルで指定されているログ変数の名前と一致するプロパティとして保存されます。

    out = sim(simIn);

    ログ データには、ドット表記、関数 get、または関数 find を使用してアクセスできます。

    ドット表記を使用して、To Workspace ブロックを使用してログ記録された Big Sine 信号にアクセスします。

    simout = out.simout
      timeseries
    
      Common Properties:
                Name: 'Big Sine'
                Time: [51x1 double]
            TimeInfo: tsdata.timemetadata
                Data: [51x1 double]
            DataInfo: tsdata.datametadata
    

    関数 get を使用して、信号ログを使用してログ記録された Sine 信号にアクセスします。

    logsout = get(out,"logsout")
    logsout = 
    Simulink.SimulationData.Dataset 'logsout' with 1 element
    
                             Name  BlockPath               
                             ____  _______________________ 
        1  [1x1 Signal]      Sine  LoggingBlocks/Sine Wave
    
      - Use braces { } to access, modify, or add elements using index.
    
    

    関数 find を使用して、出力ログを使用してログ記録された Square Wave 信号にアクセスします。

    yout = find(out,"yout")
    yout = 
    Simulink.SimulationData.Dataset 'yout' with 1 element
    
                             Name         BlockPath             
                             ___________  _____________________ 
        1  [1x1 Signal]      Square Wave  LoggingBlocks/Outport
    
      - Use braces { } to access, modify, or add elements using index.
    
    

    シミュレーション メタデータには、ドット表記または関数 getSimulationMetadata を使用してアクセスできます。

    simMetadata = getSimulationMetadata(out)
    simMetadata = 
      SimulationMetadata with properties:
    
            ModelInfo: [1x1 struct]
           TimingInfo: [1x1 struct]
        ExecutionInfo: [1x1 struct]
           UserString: ''
             UserData: []
    
    

    シミュレーション メタデータは Simulink.SimulationMetadata オブジェクトとして返されます。SimulationMetadata オブジェクトは、シミュレーションに関する情報を構造体値をもつプロパティにグループ化し、シミュレーションに関連する string および追加データを指定できるプロパティをもちます。

    SimulationMetadata オブジェクト上の ExecutionInfo プロパティにアクセスします。実行情報には、シミュレーションが停止時間 20 まで警告やエラーなしで実行されたことが示されます。

    simMetadata.ExecutionInfo
    ans = struct with fields:
                   StopEvent: 'ReachedStopTime'
             StopEventSource: []
        StopEventDescription: 'Reached stop time of 20'
             ErrorDiagnostic: []
          WarningDiagnostics: [0x1 struct]
    
    

    入力引数

    すべて折りたたむ

    シミュレーション結果。Simulink.SimulationOutput オブジェクトとして指定します。

    出力引数

    すべて折りたたむ

    シミュレーション メタデータ。Simulink.SimulationMetadata オブジェクトとして返されます。

    ヒント

    Simulink.SimulationMetadata オブジェクトの内容は、MATLAB® の変数エディターを使用して表示できます。[ワークスペース] ペインで、表示するメタデータをもつ Simulink.SimulationOutput オブジェクトを含む変数をダブルクリックします。次に、変数エディターで、[SimulationMetadata の探索] を選択して、SimulationMetadata オブジェクト内の情報をツリー構造を使用して表示するペインを開きます。

    バージョン履歴

    R2015a で導入