exponenta event banner

setPostSimFcn

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

Описание

пример

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

Примеры

свернуть все

В этом примере задается функция MATLAB через 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