主要内容

このペ,ジの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。

金宝appSimulink.SimulationData.forEachTimeseries

timeseriesオブジェクトで関数を呼び出す

説明

dataResults = 金宝appSimulink.SimulationData.forEachTimeseries(functionHandleinputDataは指定された関数ハンドルをinputDataに含まれるすべてのmatlab®timeseriesオブジェクトで実行します。

すべて折りたたむ

この例では,関数forEachTimeseriesを使用して,COUNTERBUS信号のログデ,タ内にある各timeseriesオブジェクトに対して関数最小值を実行する方法にいて説明します。

モデルを開いて,シミュレ,ションを実行します。

open_system (“sldemo_mdlref_bus”) sim卡(“sldemo_mdlref_bus”);

信号ログデ,タにアクセスします。このモデルの場合,信号ログデ,タはtopOut変数に保存されています。

topOut
金宝appSimulink.SimulationData.Dataset 'topOut'与4个元素名称BlockPath ____________ ________________________________________ 1 [1x1信号]COUNTERBUS sldemo_mdlref_bus/Concatenate 2 [1x1信号]OUTERDATA sldemo_mdlref_bus/CounterA 3 [1x1信号]INCREMENTBUS sldemo_mdlref_bus/IncrementBusCreator 4 [1x1信号]INNERDATA…erA|sldemo_mdlref_counter_bus/COUNTER -使用花括号{}访问、修改或添加使用索引的元素。

COUNTERBUS要素の値を見けます。

counterbusData = topOut{1}。值
counterbusData = 2×1带有字段:数据限制的结构数组

counterbusデ,タに対して関数最小值を実行します。

ret = 金宝appSimulink.SimulationData.forEachTimeseries(@min,counterbusData)
Ret = 2x1带字段的结构数组:数据限制

返されたデ,タを調べます。

ret (1)
Ans = data: 0 limits: [1x1 struct]
ret (2) .limits
Ans = upper_saturation_limit: 40 lower_saturation_limit: 0

入力引数

すべて折りたたむ

timeseriesオブジェクトで実行する関数。関数ハンドルとして指定します。関数ハンドルの指定の詳細については、関数を別の関数に渡すを参照してください。

forEachTimeseriesと一緒に使用する関数は,以下のとおりです。

  • 組み込み関数またはユ,ザ,指定の関数のいずれかである

  • スカラ,を返さなければならない

forEachTimeseriesと一緒に使用する関数の条件は,以下のとおりです。

  • 引数が1の場合,。以下に例を示します。

    ret = 金宝appSimulink.SimulationData.forEachTimeseries(@min,data);
  • 引数が1より多い場合,関数ハンドルを@ (x)として指定してから,xを最初の引数として使用して関数を指定します。残りの引数にいては,値を指定します。たとえば,このコマンドは,時間ベクトル(2.5 - 3)のデ,タ内でmatlabtimeseriesオブジェクトに対して関数重新取样を実行します。

    ret = 金宝appSimulink.SimulationData.forEachTimeseries(@(x)...(重新取样(x,(2.5 - 3))),数据);

指定された関数を実行するデ,タ。timeseriesデ,タとして指定します。

出力引数

すべて折りたたむ

指定された関数を実行することで得られたデ,タ。入力デ,タの形式および階層を使用して返されます。

関連するリンク

MATLABtimeseries関数ハンドル

R2016bで導入