このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
Simulink.SimulationData.forEachTimeseries
timeseries
オブジェクトのセットに含まれているデータに関数を適用
説明
は、res
= Simulink.SimulationData.forEachTimeseries(func
,tsData
)tsData
内の各 timeseries
オブジェクトに関数 func
を適用します。この関数を使用すると、バスまたはバス配列からログに記録されたデータを後処理できます。
例
バス内信号の最小値の検索
BusHierarchy
という名前のモデルを開きます。このモデルは、Chirp ブロックと Sine ブロックからの出力信号を、別のバス内に入れ子になっているバスにグループ化します。最上位のバスには Step ブロックからの出力信号も含まれます。バスのライン スタイルを更新するには、Simulink ツールストリップの [モデル化] タブで、[モデルの更新] または [実行] をクリックします。
TopBus
という名前のバスをログ記録用にマークします。
Simulink.sdi.markSignalForStreaming("BusHierarchy/Bus Creator1",1,true);
モデルをシミュレートします。
out = sim("BusHierarchy");
Simulink.SimulationOutput
オブジェクトには、シミュレーション メタデータと、ワークスペースにログ記録されるすべてのシミュレーション データが含まれます。
out
out = Simulink.SimulationOutput: logsout: [1x1 Simulink.SimulationData.Dataset] tout: [53x1 double] SimulationMetadata: [1x1 Simulink.SimulationMetadata] ErrorMessage: [0x0 char]
logsout
という名前の変数には、バス用にログ記録されたデータが含まれます。
logsout = out.logsout
logsout = Simulink.SimulationData.Dataset 'logsout' with 1 element Name BlockPath ______ _________________________ 1 [1x1 Signal] TopBus BusHierarchy/Bus Creator1 - Use braces { } to access, modify, or add elements using index.
TopBus
という名前のバス用にログ記録されたデータを含む信号にアクセスします。信号値は、Simulink.SimulationData.Signal
オブジェクトの Values
プロパティに保存されます。
topBusSig = getElement(logsout,1)
topBusSig = Simulink.SimulationData.Signal Package: Simulink.SimulationData Properties: Name: 'TopBus' PropagatedName: '' BlockPath: [1x1 Simulink.SimulationData.BlockPath] PortType: 'outport' PortIndex: 1 Values: [1x1 struct]
バス内の信号の値を含む構造体にアクセスします。構造体の階層とフィールドの名前は、バスの階層と信号の名前と一致します。バス内の各信号のデータは、timeseries
オブジェクトとして保存されます。
topBusData = topBusSig.Values
topBusData = struct with fields:
NestedBus: [1x1 struct]
Step: [1x1 timeseries]
関数 Simulink.SimulationData.forEachTimeseries
を使用して、バス内の各信号の最小値を検索します。最小値は、入力データと同じフィールドおよび階層をもつ構造体として返されます。
topBusSigMins = Simulink.SimulationData.forEachTimeseries(@min,topBusData)
topBusSigMins = struct with fields:
NestedBus: [1x1 struct]
Step: 0
Chirp ブロックからの出力信号の最小値を確認します。
chirpMin = topBusSigMins.NestedBus.Chirp
chirpMin = -0.9972
入力引数
func
— データに適用する関数
関数ハンドル
データに適用する関数。関数ハンドルとして指定します。詳細については、関数ハンドルの作成を参照してください。
指定する関数は、少なくとも 1 つの入力引数を取り、スカラーを返す必要があります。組み込み関数、作成する関数、または無名関数用にハンドルを指定できます。
たとえば、組み込み関数 min
を使用して、各 timeseries
オブジェクト内の最小値を計算できます。
res = Simulink.SimulationData.forEachTimeseries(@min,tsData);
関数が複数の入力引数を取る場合は、timeseries
オブジェクト用の引数のみを計算ごとに変えることができます。残りの引数では、各 timeseries
オブジェクトに同じ値を使用する必要があります。
たとえば、関数 resample
を各 timeseries
オブジェクトに適用するには、関数を無名関数として指定します。ここで、変数 tsData は timeseries
オブジェクトを表します。関数 resample
のその他の引数は、パラメーター値として渡されます。関数 Simulink.SimulationData.forEachTimeseries
は、2 番目の入力引数で指定する timeseres
データを、tsData の値として無名関数に渡します。
res = Simulink.SimulationData.forEachTimeseries(...
@(tsData) resample(tsData,[2.5 3]),tsData);
データ型: function_handle
tsData
— 処理するデータ
スカラー timeseries
オブジェクト | timeseries
の配列 | timeseries
オブジェクトの構造体 | timeseries
オブジェクトの構造体の配列
処理するデータ。次の値のいずれかとして指定します。
スカラー
timeseries
オブジェクトtimeseries
オブジェクトの配列timeseries
オブジェクトの構造体timeseries
オブジェクトの構造体の配列
出力引数
res
— データ処理の結果
スカラー timeseries
オブジェクト | timeseries
の配列 | timeseries
オブジェクトの構造体 | timeseries
オブジェクトの構造体の配列
データ処理の結果。次の値のいずれかとして返されます。
スカラー
timeseries
オブジェクトtimeseries
オブジェクトの配列timeseries
オブジェクトの構造体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)