setPreSimFcn

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

Описание

пример

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

Примеры

свернуть все

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

Создайте a 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