setPreSimFcn

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

Синтаксис

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 как единственный выходной аргумент.

Примеры

свернуть все

Этот пример показывает, как задать функцию 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