exponenta event banner

setPreSimFcn

Укажите функцию MATLAB для выполнения перед началом каждого моделирования SimulationInput объект, в

Описание

пример

in = in.setPreSimFcn(@(x) myfunction(arg1, arg2 ...)) выполняется перед началом каждого моделирования. 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