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.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)

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

свернуть все

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

Введенный в R2017a

Была ли эта тема полезной?