setPreSimFcn

Задайте функцию MATLAB, которая будет запускаться перед началом каждой симуляции через SimulationInput объект, в

Описание

пример

in = in.setPreSimFcn(@(x) myfunction(arg1, arg2 ...)) выполняется перед началом каждой симуляции. The Simulink.SimulationInput объект передается как аргумент x к этой функции. myfunction - любой MATLAB® и может использоваться для изменения Simulink.SimulationInput объект. Если вы используете myfunction для изменения Simulink.SimulationInput объект, вы должны вернуться Simulink.SimulationInput объект как единственный выходной аргумент.

Примеры

свернуть все

В этом примере показано, как задать функцию MATLAB через SimulationInput объект, который запускается перед началом каждой симуляции.

Создайте PreSimFcn функция.

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

Откройте модель.

model = 'sf_car';
open_system(model);

Создайте массив SimulationInput объекты для этой модели. Использовать in.setPreSimFcn бежать 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)

Входные параметры

свернуть все

Это вход в myfunction в котором можно изменить Simulink.SimulationInput объект.

Аргументы, которые будут переданы в setPreSimFcn.

Введенный в R2017a