ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

setPostSimFcn

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

構文

in = in.setPostSimFcn(@(y) myfunction(arg1, arg2...))

説明

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

すべて折りたたむ

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

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

function newout = 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 オブジェクトです。

R2017a で導入