メインコンテンツ

Stateflow.SimulationData.State

ログが作成されたステート アクティビティ

説明

Stateflow.SimulationData.State オブジェクトは、ログが作成されたステートのアクティビティを確認するために使用します。

作成

  1. Stateflow® エディターで、ステートを選択します。

  2. [シミュレーション] タブの [準備] で、[自己アクティビティのログ] を選択します。あるいは、[プロパティ インスペクター][ログ][自己アクティビティのログ] チェック ボックスを選択します。

  3. モデルのシミュレーションを実行します。MATLAB® ワークスペースに生成される信号ログ オブジェクトに Stateflow.SimulationData.State オブジェクトが格納されます。信号ログ オブジェクトの名前を [信号のログ] (Simulink) モデル コンフィギュレーション パラメーターを使用して指定します。

プロパティ

すべて展開する

ステートのログ名。文字配列として指定します。既定では、ステートのログ名は階層名で、ピリオド (.) を使用してステートの階層の各レベルを区切っています。より短い名前をステートに割り当てるには、[プロパティ インスペクター] で、[ログ名][カスタム] に設定し、カスタム ログ名を入力します。

データ型: char

ソース ブロックのブロック パス。Simulink.SimulationData.BlockPath (Simulink) オブジェクトとして指定します。

データ型: Simulink.SimulationData.BlockPath

ステート アクティビティ。timeseries オブジェクトとして指定します。データ値はステートがアクティブであるか (1)、または非アクティブであるか (0) を表します。時間値はシミュレーション時間に対応します。

データ型: timeseries

オブジェクト関数

plot (Simulink)シミュレーション データ インスペクターでデータをプロットする

すべて折りたたむ

  1. sf_car モデルを開きます。

    openExample("sf_car")
    open_system("sf_car/shift_logic", "force")
  2. [シンボル] ペインを開きます。[シミュレーション] タブの [準備] で、[[シンボル] ペイン] をクリックします。

  3. プロパティ インスペクターを開きます。ログを作成する downshifting ステートを設定します。

    • downshifting ステートを選択します。

    • [シミュレーション] タブの [準備] で、[自己アクティビティのログ] を選択します。

    • 既定では、このステートのログ名は selection_state.downshifting です。より短い名前をステートに割り当てるには、[ログ名][カスタム] に設定し、「DownShifting」と入力します。

  4. モデルのシミュレーションを実行します。

  5. 状態ログ オブジェクトにアクセスするには、MATLAB コマンド プロンプトで次のように入力します。

    sigsOut
    sigsOut = 
    
    Simulink.SimulationData.Dataset 'sigsOut' with 1 element
    
                            Name         BlockPath                        
                            ___________  ________________________________ 
        1  [1x1 State]      DownShifting  sf_car/shift_logic

  6. ログが作成されたステートのデータにアクセスするには、get (Simulink) メソッドを使用します。

    downShiftingLog = sigsOut.get("DownShifting")
    downShiftingLog = 
    
      Stateflow.SimulationData.State
      Package: Stateflow.SimulationData
    
      Properties:
             Name: 'DownShifting'
        BlockPath: [1×1 Simulink.SimulationData.BlockPath]
           Values: [1×1 timeseries]
    

  7. ログ データおよびログが作成された各要素の時間にアクセスするには、Values.Data プロパティと Values.Time プロパティを使用します。table 関数を使用してログ データを表形式でまとめます。

    T = table(downShiftingLog.Values.Time,downShiftingLog.Values.Data);
    T.Properties.VariableNames = ["Time" "Data"]
    T =
    
      6×2 table
    
           Time       Data
        __________    ____
    
                 0     0  
             14.96     1  
             15.04     0  
             97.56     1  
             97.64     0   
    

バージョン履歴

R2017b で導入