В этом примере показано, как продлить movingAverageFilter Системные object™ для использования в Simulink™. Чтобы использовать Системный объект в Simulink, включите Системный объект в блок MATLAB System.
movingAverageFilter Системный объектЭтот пример расширяет movingAverageFilter Системный объект, созданный в объекте Create Moving Average System. The movingAverageFilter Системный объект вычисляет невзвешенное среднее заданное количество предыдущих входов. Используйте WindowLength свойство, чтобы указать, сколько предыдущие выборки использовать.
Объект уже готов к использованию в Simulink. Создайте модель Simulink и добавьте блок MATLAB System. Задайте movingAverageFilter как имя системного объекта. Для примера эта модель использует фильтр скользящего среднего, чтобы исключить шум от сигнала.
model = 'movingaveragefilter_sl';
open_system(model);

Диалоговое окно блока показывает общие настраиваемые параметры:

Вы можете настроить внешний вид блока и диалоговое окно блоков для блока MATLAB System путем добавления методов к системному объекту.
По умолчанию значок блока показывает имя Системного объекта, в данном случае movingAverageFilter. Настройте значок блока фильтра скользящего среднего с именем очистителя. На панели инструментов Editor нажмите кнопку выпадающего списка System Block, затем выберите Add Text Icon. The getIconImpl метод добавляется к movingAverageFilter. Внутренние getIconImpl, задать icon равны строковые массивы ["Moving","Average","Filter"];
function icon = getIconImpl(~) % Define icon for the System block. icon = ["Moving","Average","Filter"]; end
Можно также настроить диалоговое окно блока путем добавления методов и комментариев к системному объекту. Дополнительные сведения о диалоговых индивидуальных настройках блоков см. в разделе Настройка внешнего вида системных блоков. В этом примере переименуйте WindowLength свойство в диалоговом окне и добавить метод для настройки описания.
По умолчанию все общественная собственность появляются как параметры в диалоговом окне блоков с их именами свойства. В этом примере добавьте комментарии перед WindowLength свойство так, что оно появляется как Длина окна перемещения в диалоговом окне. Добавить комментарии над свойством в форме: PropertyName Name in dialog
% WindowLength Moving window length
WindowLength (1,1){mustBeInteger,mustBePositive} = 5
Чтобы задать заголовок и описание в диалоговом окне блоков, на панели инструментов выберите System Block > Specify Dialog Header. Эта опция добавляет getHeaderImpl метод для movingAverageFilter. Измените вызов на matlab.system.display.Header для этого:
methods(Access = protected, Static)
function header = getHeaderImpl
% Define header panel for System block dialog
header = matlab.system.display.Header('movingAverageFilter',...
'Title','Moving Average Filter',...
'Text', 'Unweighted moving average filter of 1- or 2D input.');
end
end
Предварительный просмотр диалогового окна блока можно увидеть нажав кнопку на панели инструментов над Системным блоком.


Это блок с добавленными индивидуальными настройками:
model = 'movingaveragefilter_sl_extended';
open_system(model);
Чтобы увидеть завершенный системный объект с методами индивидуальной настройки Simulink, введите:
edit movingAverageFilter_extended.m