メインコンテンツ

get

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

    説明

    res = get(simOut,varName)varName で指定されたシミュレーション データを Simulink.SimulationOutput オブジェクト simOut から返します。

    Simulink.SimulationOutput オブジェクト内のデータには、ドット表記を使用してアクセスすることもできます。

    すべて折りたたむ

    シミュレーション結果を単一の出力オブジェクトとして返すようにしてモデルをシミュレートすると、すべてのログ データおよびシミュレーション メタデータに 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 関数は、結果をシミュレーションのすべてのログ データが格納された Simulink.SimulationOutput オブジェクトとして返します。ブロックごと、ログのタイプごとのデータは、ブロックまたはモデルで指定されているログ変数の名前と一致するプロパティとして保存されます。

    out = sim(simin);

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

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

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

    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.
    
    

    SimulationOutput オブジェクトの SimulationMetadata プロパティ内のシミュレーション メタデータにアクセスします。

    simmetadata = out.SimulationMetadata
    simmetadata = 
      SimulationMetadata with properties:
    
            ModelInfo: [1×1 struct]
           TimingInfo: [1×1 struct]
        ExecutionInfo: [1×1 struct]
           UserString: ''
             UserData: []
    
    

    シミュレーション メタデータは Simulink.SimulationMetadata オブジェクトとして返されます。SimulationMetadata オブジェクトは、オブジェクトのプロパティで情報を構造体としてグループ化したものです。

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

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

    入力引数

    すべて折りたたむ

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

    返されるシミュレーション データ。string または文字ベクトルとして指定します。

    関数 get を使用して、ログ変数の名前を指定することにより、シミュレーションからログ記録されたデータ (信号ログ データ、ログ出力、状態など) にアクセスします。たとえば、既定の信号ログ変数名 logsout を使用するときは、"logsout" と指定して信号ログ データにアクセスします。

    例: "logsout"

    データ型: char | string

    出力引数

    すべて折りたたむ

    シミュレーション結果。次のいずれかの形式で返されます。

    戻り引数の形式は、アクセスするデータの型およびシミュレーション用のモデルの構成によって決まります。

    バージョン履歴

    R2010a で導入

    すべて展開する