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


Доступ к исходному коду MATLAB, используемому системным блоком MATLAB, можно получить, щелкнув гиперссылку «Исходный код» в диалоговом окне блока. Объект System реализует только 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 отображает имя системного объекта. TimesTwo в блоке и использует имена входных и выходных переменных из stepImpl способ TimesTwo класс в качестве меток портов. При открытии диалогового окна «Блок системы MATLAB» двойным щелчком на блоке в диалоговом окне отображается заголовок TimesTwo и описание как «Умножить входной сигнал на 2», как показано ниже. Заголовок происходит от имени используемого объекта System, а описание создается из сводки справки класса в объекте System.