В этом примере показано, как использовать простой системный объект в 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», как показано ниже. Это заголовок происходит от имени используемого Системного объекта, а описание создается из справки по классам, сводным данным в Системный объект.