setPostSimFcn

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

Описание

пример

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

Примеры

свернуть все

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

Создайте PostSimFcn чтобы получить среднее значение выхода.

function newout = postsim(out);
newout.mean = mean(out.yout);
end

Создайте SimulationInput объект для модели.

in = Simulink.SimulationInput('vdp');
in = in.setPostSimFcn(@(x) postsim(x));
in = in.setModelParameter('SaveOutput','on');

Симулируйте модель.

out = sim(in)

Посмотрите свой результат

out.mean

Лучшая практика избегать использования 'ErrorMessage' и 'SimulationMetadata' как имена полей в функции.

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

свернуть все

Это Simulink.SimulationOutput объект, который является входом в myfunction.

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

Введенный в R2017a