В этом примере показано, как использовать простой системный объект в Simulink с блоком MATLAB System.
Системные объекты позволяют вам реализовать алгоритмы с помощью MATLAB. Системные объекты являются специализированным видом объекта MATLAB, разработанным специально для реализации и симуляции динамических систем с входами, которые изменяются с течением времени.
После того, как вы задаете Системный объект, можно включить его в модель Simulink с помощью блока MATLAB System.
Эта модель имеет блок MATLAB System, использующий системный объект TimesTwo что умножает вход на два. Вход в блок MATLAB System обеспечивается блоком Sine Wave. В блоке Возможностей отображается выход вместе с входом. Когда вы запускаете модель, можно увидеть, что вход в блок MATLAB System умножен на два в блоке Scope.


Вы можете получить доступ к исходному коду MATLAB, используемому блоком MATLAB System, нажав гиперссылку «Source Code» из диалогового окна блока. Системный объект реализует только stepImpl способ. Алгоритму не нужны какие-либо свойства или дополнительные методы.
classdef TimesTwo < matlab.System
%TimesTwo Multiply input by 2
% obj = TimesTwo returns a System object, obj, that
% multiples its input by two.
methods(Access = protected)
function y = stepImpl(~, u)
y = 2 * u;
end
end
end
В блоке MATLAB System отображается имя системного объекта TimesTwo на блок и использует вход и выход имен переменных из stepImpl метод TimesTwo класс как метки портов. Если вы открываете диалоговое окно MATLAB System путем двойного нажатия по блоку, диалоговое окно показывает заголовок следующим TimesTwo и описание «Умножить вход на 2», как показано ниже. Это заголовок происходит от имени используемого Системного объекта, а описание создается из справки по классам, сводным данным в Системный объект.