Main Content

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

setPostSimFcn

SimulationInputオブジェクトinを使って、シミュレーションが完了するたびに実行されるMATLAB関数を指定する

説明

in = in.setPostSimFcn(@(y) myfunction(arg1, arg2 ...))はシミュレーションが完了するたびに実行されます。Simulink.SimulationOutputオブジェクトは引数yとしてこの関数に渡されます。myfunctionは任意の MATLAB®関数であり、出力で後処理を行うために使用できます。後処理したデータを返すには、構造体内の値として返さなければなりません。これらの値はSimulink.SimulationOutput出力に挿入され、通常のログ データと置き換わるか、新しいデータをSimulink.SimulationOutputオブジェクトに追加します。

すべて折りたたむ

この例は、SimulationInputオブジェクトを使用してシミュレーションが完了するたびに MATLAB 関数が実行されるように指定します。

PostSimFcnを作成して、出力の平均を取得します。

functionnewout = postsim(out); newout.mean = mean(out.yout);end

モデルのSimulationInputオブジェクトを作成します。

in = Simulink.SimulationInput('vdp'); in = in.setPostSimFcn(@(x) postsim(x)); in = in.setModelParameter('SaveOutput','on');

モデルをシミュレートします。

out = sim(in)

検証結果を表示します。

out.mean

'ErrorMessage'および'SimulationMetadata'を関数のフィールド名として使用しないことをお勧めします。

入力引数

すべて折りたたむ

これは、myfunctionへの入力であるSimulink.SimulationOutputオブジェクトです。

setPostSimFcnに渡すために指定された引数。

バージョン履歴

R2017a で導入