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: [1×1 Simulink.SimulationData.BlockPath]
PortType: 'outport'
PortIndex: 1
Values: [1×1 struct]
Methods, Superclasses
バス内の信号の値を含む構造体にアクセスします。構造体の階層とフィールドの名前は、バスの階層と信号の名前と一致します。バス内の各信号のデータは、timeseries オブジェクトとして保存されます。
topBusData = topBusSig.Values
topBusData = struct with fields:
NestedBus: [1×1 struct]
Step: [1×1 timeseries]
関数 Simulink.SimulationData.forEachTimeseries を使用して、バス内の各信号の最小値を検索します。最小値は、入力データと同じフィールドおよび階層をもつ構造体として返されます。
topBusSigMins = Simulink.SimulationData.forEachTimeseries(@min,topBusData)
topBusSigMins = struct with fields:
NestedBus: [1×1 struct]
Step: 0
Chirp ブロックからの出力信号の最小値を確認します。
chirpMin = topBusSigMins.NestedBus.Chirp
chirpMin = -0.9972
入力引数
データに適用する関数。関数ハンドルとして指定します。詳細については、関数ハンドルの作成を参照してください。
指定する関数は、少なくとも 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
処理するデータ。次の値のいずれかとして指定します。
スカラー
timeseriesオブジェクトtimeseriesオブジェクトの配列timeseriesオブジェクトの構造体timeseriesオブジェクトの構造体の配列
出力引数
データ処理の結果。次の値のいずれかとして返されます。
スカラー
timeseriesオブジェクトtimeseriesオブジェクトの配列timeseriesオブジェクトの構造体timeseriesオブジェクトの構造体の配列
結果は入力データと同じ形式で返されます。
バージョン履歴
R2016b で導入
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- 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)