このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。
Simulink.SimulationData.forEachTimeseries
各 timeseries
オブジェクトで関数を呼び出す
説明
dataResults = Simulink.SimulationData.forEachTimeseries(
は指定された関数ハンドルを functionHandle
,inputData
)inputData
に含まれるすべての MATLAB® timeseries
オブジェクトで実行します。
例
記録されたバス信号データの最小値の検索
この例では、関数 forEachTimeseries
を使用して、COUNTERBUS
信号のログ データ内にある各 timeseries
オブジェクトに対して関数 min
を実行する方法について説明します。
モデルを開いて、シミュレーションを実行します。
openExample('sldemo_mdlref_bus') sim('sldemo_mdlref_bus');
信号ログ データにアクセスします。このモデルの場合、信号ログ データは topOut
変数に保存されています。
topOut
Simulink.SimulationData.Dataset 'topOut' with 4 elements Name BlockPath ____________ ________________________________________ 1 [1x1 Signal] COUNTERBUS sldemo_mdlref_bus/Concatenate 2 [1x1 Signal] OUTERDATA sldemo_mdlref_bus/CounterA 3 [1x1 Signal] INCREMENTBUS sldemo_mdlref_bus/IncrementBusCreator 4 [1x1 Signal] INNERDATA ...erA|sldemo_mdlref_counter_bus/COUNTER - Use braces { } to access, modify, or add elements using index.
COUNTERBUS
要素の値を見つけます。
counterbusData = topOut{1}.Values
counterbusData = 2×1 struct array with fields: data limits
counterbus
データに対して関数 min
を実行します。
ret = Simulink.SimulationData.forEachTimeseries(@min,counterbusData)
ret = 2x1 struct array with fields: data limits
返されたデータを調べます。
ret(1)
ans = data: 0 limits: [1x1 struct]
ret(2).limits
ans = upper_saturation_limit: 40 lower_saturation_limit: 0
入力引数
functionHandle
— MATLAB timeseries
オブジェクトで実行する関数
関数ハンドル
timeseries
オブジェクトで実行する関数。関数ハンドルとして指定します。関数ハンドルの指定の詳細については、関数を別の関数に渡すを参照してください。
forEachTimeseries
と一緒に使用する関数は、以下のとおりです。
組み込み関数またはユーザー指定の関数のいずれかである
スカラーを返さなければならない
forEachTimeseries
と一緒に使用する関数の条件は、以下のとおりです。
引数が 1 つの場合、関数ハンドルと入力データを指定します。以下に例を示します。
ret = Simulink.SimulationData.forEachTimeseries(@min,data);
引数が 1 より多い場合、関数ハンドルを
@(x)
として指定してから、x
を最初の引数として使用して関数を指定します。残りの引数については、値を指定します。たとえば、このコマンドは、時間ベクトル[2.5 3]
のデータ内で MATLABtimeseries
オブジェクトに対して関数resample
を実行します。ret = Simulink.SimulationData.forEachTimeseries(@(x)... (resample(x,[2.5 3])),data);
inputData
— 指定された関数を実行するデータ
MATLAB timeseries
オブジェクト | timeseries
の配列 | 葉ノードで timeseries
をもつ構造体 | 葉ノードで timeseries
をもつ構造体の配列
指定された関数を実行するデータ。timeseries
データとして指定します。
出力引数
dataResults
— 指定された関数を実行することで得られたデータ
MATLAB timeseries
オブジェクト | timeseries
の配列 | 葉ノードで timeseries
をもつ構造体 | 葉ノードで timeseries
をもつ構造体の配列
指定された関数を実行することで得られたデータ。入力データの形式および階層を使用して返されます。
関連するリンク
MATLAB timeseries
関数ハンドル
バージョン履歴
R2016b で導入
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)