ドキュメンテーション

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

setPreSimFcn

SimulationInput オブジェクト in を使用して各シミュレーションの開始前に MATLAB 関数が実行されるように指定します。

構文

in = in.setPreSimFcn(@(x) myfunction(arg1, arg2...))

説明

in = in.setPreSimFcn(@(x) myfunction(arg1, arg2...)) は各シミュレーションの開始前に実行されます。Simulink.SimulationInput オブジェクトは引数 x としてこの関数に渡されます。myfunction は任意の MATLAB® 関数であり、Simulink.SimulationInput オブジェクトを変更するために使用できます。myfunction を使用して Simulink.SimulationInput オブジェクトを変更する場合、Simulink.SimulationInput オブジェクトを唯一の出力引数として返さなければなりません。

すべて折りたたむ

この例は、SimulationInput オブジェクトを使用して各シミュレーションの開始前に MATLAB 関数が実行されるように指定する方法を示します。

関数 PreSimFcn を作成します。

function presim(in)
signalbuilder('sf_car/User Inputs', 'ActiveGroup', in.Variables.Value)
end

モデルを開きます。

model = 'sf_car';
open_system(model);

このモデル用に SimulationInput オブジェクトの配列を作成します。in.PreSimFcn を使用してシミュレーション前に presim を実行します。

 n = 4;
   for idx = n:-1:1
      in(idx) = Simulink.SimulationInput(model);
      in(idx) = in(idx).setVariable('SigIndex', idx);
      in(idx) = in(idx).setPreSimFcn(@(x) presim(x));
   end

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

out = sim(in)

入力引数

すべて折りたたむ

これは、Simulink.SimulationInput オブジェクトを変更できる myfunction への入力です。

R2017a で導入