Можно настроить диалоговое окно для блока MATLAB System путем добавления свойств и методов в соответствующем Системном объекте. Можно добавить вкладки, организованные свойства в группы и разделы, добавить описания блока, управление типом симуляции, и добавить пользовательские кнопки.
Этот пример настраивает диалоговое окно блока для MultipleGroupsWithTabs Блок MATLAB System путем определения свойства отображает имена и изменения getPropertyGroupImpl метод.
Измените метку свойства
Чтобы изменить метку свойства, которая появляется на диалоговом окне, добавьте комментарии перед каждым свойством в этом формате %PropertyName Block Dialog Label без пробела между комментарием и именем свойства. Например, чтобы отобразить StartValue свойство, как Запускают Значение, задает:
%StartValue Start Value
StartValue = 0
MultipleGroupsWithTabs Системный объект в этом примере повторно помечает каждое свойство для отображения в диалоговом окне блока MATLAB System.
Организуйте диалоговое окно
MutlitpleGroupsWithTabs Класс системного объекта задает getPropertyGroupsImpl метод. В getPropertyGroupsImpl метод, этот пример задает две вкладки (группы раздела) и три группировки параметра (разделы).
classdef MultipleGroupsWithTabs < matlab.System % MultipleGroupsWithTabs Customize block dialog with multiple tabs and parameter groups. % Public, tunable properties properties %StartValue Start Value StartValue = 0 %EndValue End Value EndValue = 10 Threshold = 1 %BlockLimit Limit BlockLimit = 55 end % Public Nontunable properties(Nontunable) %IC1 First initial condition IC1 = 0 %IC2 Second initial condition IC2 = 10 %IC3 Third initial condition IC3 = 100 %UseThreshold Use threshold UseThreshold (1,1) logical = true end methods (Static, Access = protected) function groups = getPropertyGroupsImpl % Section to always display above any tabs. alwaysSection = matlab.system.display.Section(... 'Title','','PropertyList',{'BlockLimit'}); % Group with no sections initTab = matlab.system.display.SectionGroup(... 'Title','Initial conditions', ... 'PropertyList',{'IC1','IC2','IC3'}); % Section for the value parameters valueSection = matlab.system.display.Section(... 'Title','Value parameters',... 'PropertyList',{'StartValue','EndValue'}); % Section for the threshold parameters thresholdSection = matlab.system.display.Section(... 'Title','Threshold parameters',... 'PropertyList',{'Threshold','UseThreshold'}); % Group with two sections: the valueSection and thresholdSection sections mainTab = matlab.system.display.SectionGroup(... 'Title','Main', ... 'Sections',[valueSection,thresholdSection]); % Return an array with the group-less section, the group with % two sections, and the group with no sections. groups = [alwaysSection,mainTab,initTab]; end end end
Получившееся диалоговое окно
load_system('ShowSystemBlockDialog') open_system('ShowSystemBlockDialog/MATLAB System')



Этот пример настраивает диалоговое окно блока для блока MATLAB System путем определения имен отображения свойства и изменения getPropertyGroupImpl метод. Эта индивидуальная настройка продемонстрирована с Системным объектом AddPropertySections.
Измените метки свойства
Чтобы изменить метку свойства, которая появляется на диалоговом окне, добавьте комментарии перед каждым свойством в этом формате %PropertyName Block Dialog Label без пробела между знаком процента и именем свойства. Например, чтобы отобразить UseAlpha свойство как альфа Использования, задайте:
%UseAlpha Use alpha
UseAlpha = 0
AddPropertySections Системный объект, включенный с этим примером, повторно помечает свойства для отображения в диалоговом окне блока MATLAB System.
Организуйте диалоговое окно
Организовывать свойства на диалоговом окне, AddPropertySections Класс системного объекта задает getPropertyGroupsImpl метод. В getPropertyGroupsImpl метод, этот пример задает два раздела, каждого с двумя свойствами.
classdef AddPropertySections < matlab.System % AddPropertySections Customized dialog with two parameter sections % Public, tunable properties properties %NumberOfShapes Number of shapes NumberOfShapes = 10 Alpha = 0.75 end % Public, nontunable properties properties(Nontunable) Coloring (1, 1) {mustBeMember(Coloring,["red","blue","green"])} = "red" %UseAlpha Use alpha UseAlpha (1,1) logical = false end methods (Static, Access = protected) function groups = getPropertyGroupsImpl % Section for the value parameters valueSection = matlab.system.display.Section(... 'Title','Shape parameters',... 'PropertyList',{'NumberOfShapes','Coloring'}); % Section for the threshold parameters shadingSection = matlab.system.display.Section(... 'Title','Shading parameters',... 'PropertyList',{'UseAlpha','Alpha'}); % Return an array with the two sections. groups = [valueSection, shadingSection]; end end end
Получившееся диалоговое окно
load_system('CustomSystemBlockDialog') open_system('CustomSystemBlockDialog/MATLAB System')


Добавьте панель заголовка в блок MATLAB System путем добавления getHeaderImpl метод к вашему Системному объекту.
Используйте getHeaderImpl задавать заголовок панели и текст для MyCounter Система object™. Если вы не задаете getHeaderImpl, блок не отображает заголовка или текста для панели.
Что касается всего Impl методы, набор getHeaderImpl доступ к методу к protected потому что метод только называется внутренне.
methods (Static, Access = protected) function header = getHeaderImpl header = matlab.system.display.Header('MyCounter',... 'Title','My Enhanced Counter'); end end
Задайте тип симуляции и появляется ли параметр Simulate using на
диалоговом окне блока Simulink® MATLAB System. Опциями симуляции является 'Code generation' и 'Interpreted mode'.
Если вы не включаете getSimulateUsingImpl метод в вашем файле определения класса, Системный объект позволяет и режимы симуляции и значения по умолчанию к 'Code generation'. Если вы не включаете showSimulateUsingImpl метод, параметр Simulate using появляется на диалоговом окне блока.
Необходимо установить getSimulateUsingImpl и showSimulateUsingImpl методы к static и доступ для этих методов к protected.
Используйте getSimulateUsingImpl указывать, что только интерпретированное выполнение позволено для Системного объекта.
methods(Static,Access = protected) function simMode = getSimulateUsingImpl simMode = 'Interpreted execution'; end end
Получившееся диалоговое окно параметром Simulate using:

Добавьте кнопку в диалоговое окно блока MATLAB System. Эта кнопка открывает фигуру, которая строит функцию пандуса.
Используйте matlab.system.display.Action задавать функцию MATLAB® или код, сопоставленный с кнопкой в диалоговом окне блока MATLAB System. Пример также показывает, как установить параметры кнопки и использовать actionData возразите входу, чтобы сохранить указатель фигуры. Эта часть примера кода использует ту же фигуру, когда кнопка нажата многократно, вместо того, чтобы открыть новую фигуру для каждого нажатия кнопки.
methods(Static,Access = protected) function group = getPropertyGroupsImpl group = matlab.system.display.Section(mfilename('class')); group.Actions = matlab.system.display.Action(@(actionData,obj)... visualize(obj,actionData),'Label','Visualize'); end end methods function obj = ActionDemo(varargin) setProperties(obj,nargin,varargin{:}); end function visualize(obj,actionData) f = actionData.UserData; if isempty(f) || ~ishandle(f) f = figure; actionData.UserData = f; else figure(f); % Make figure current end d = 1:obj.RampLimit; plot(d); end end
Полный файл определения класса для диалоговой кнопки
Получившееся диалоговое окно с кнопкой Visualize:

getHeaderImpl | getPropertyGroupsImpl | getSimulateUsingImpl | matlab.system.display.Header | matlab.system.display.Section | matlab.system.display.SectionGroup | showSimulateUsingImpl