自定义系统块对话框
通过在相应的System对象中添加属性和方法,您可以自定义MATLAB System块的对话框。您可以添加选项卡,将属性组织到组和节中,添加块描述,模拟类型控制,并添加自定义按钮。
定义块对话框选项卡、节和属性顺序
控件的块对话框MultipleGroupsWithTabs
MATLAB系统块通过指定属性显示名称和修改getPropertyGroupImpl
方法。
更改属性标签
若要更改出现在对话框上的属性标签,请在此格式的每个属性之前添加注释%PropertyName块对话框标签
注释和属性名之间没有空格。例如,要显示StartValue
财产开始值指定:
%StartValue起始值StartValue = 0
的MultipleGroupsWithTabs
本例中的System对象为每个属性重新贴上标签,以便在MATLAB系统块对话框中显示。
组织对话框
的MutlitpleGroupsWithTabs
系统对象类定义了一个getPropertyGroupsImpl
方法。在getPropertyGroupsImpl
方法,本示例定义了两个选项卡(节组)和三个参数分组(节)。
classdefMultipleGroupsWithTabs < matlab。系统具有多个选项卡和参数组的自定义块对话框。公共、可调属性属性%StartValue起始值StartValue = 0%EndValue结束值EndValue = 10阈值= 1% BlockLimit限制BlockLimit = 55结束不可调属性(Nontunable)第一个初始条件Ic1 = 0IC2第二个初始条件Ic2 = 10第三个初始条件Ic3 = 100%UseThreshold使用阈值UseThreshold(1)逻辑= true结束方法(静态,访问=受保护)函数groups = getPropertyGroupsImpl部分要始终显示在任何选项卡上方。alwaysSection = matlab.system.display.Section(...“标题”,”,“PropertyList”, {“BlockLimit”});不带节的组initTab = matlab.system.display.SectionGroup(...“标题”,“初始条件”,...“PropertyList”, {“IC1”,“IC2”,“IC3”});的值参数valueSection = matlab.system.display.Section(...“标题”,“价值参数的,...“PropertyList”, {“StartValue”,“EndValue”});为阈值参数thresholdSection = matlab.system.display.Section(...“标题”,的阈值参数,...“PropertyList”, {“阈值”,“UseThreshold”});组包含两个部分:valueSection和thresholdSectionmainTab = matlab.system.display.SectionGroup(...“标题”,“主要”,...“部分”(valueSection thresholdSection]);返回一个带有无组节的数组两个组,和没有组的组。。groups = [alwaysSection,mainTab,initTab];结束结束结束
结果对话框
load_system (“ShowSystemBlockDialog”) open_system (“ShowSystemBlockDialog / MATLAB系统”)
定义属性节
该示例通过指定属性显示名称和修改getPropertyGroupImpl
方法。通过System对象演示了这种自定义AddPropertySections
.
更改属性标签
若要更改出现在对话框上的属性标签,请在此格式的每个属性之前添加注释%PropertyName块对话框标签
百分比符号和属性名之间没有空格。例如,要显示UseAlpha
财产使用α指定:
使用alphaUseAlpha = 0
的AddPropertySections
本例中包含的系统对象为在MATLAB系统块对话框中显示的属性重新贴上标签。
组织对话框
要组织对话框上的属性,可以使用AddPropertySections
系统对象类定义了一个getPropertyGroupsImpl
方法。在getPropertyGroupsImpl
方法,本示例定义了两个部分,每个部分具有两个属性。
classdefAddPropertySections < matlab。系统带有两个参数部分的自定义对话框公共、可调属性属性%NumberOfShapes形状的数量NumberOfShapes = 10 Alpha = 0.75结束公共的,不可调的属性属性(Nontunable)着色(1,1) {mustBeMember(着色(“红”,“蓝色”,“绿色”])}=“红色”使用alphaUseAlpha(1)逻辑= false结束方法(静态,访问=受保护)函数groups = getPropertyGroupsImpl的值参数valueSection = matlab.system.display.Section(...“标题”,形状参数的,...“PropertyList”, {“NumberOfShapes”,“颜色”});为阈值参数shadingSection = matlab.system.display.Section(...“标题”,“阴影参数”,...“PropertyList”, {“UseAlpha”,“α”});返回包含这两个部分的数组。groups = [valueSection, shadingSection];结束结束结束
结果对话框
load_system (“CustomSystemBlockDialog”) open_system (“CustomSystemBlockDialog / MATLAB系统”)
添加报头说明
将标题面板添加到MATLAB系统块通过添加getHeaderImpl
方法添加到您的System对象。
使用getHeaderImpl
控件的面板标题和文本MyCounter
系统对象™。如果不指定getHeaderImpl
,该块不显示面板的任何标题或文本。
至于所有人Impl
方法,设置getHeaderImpl
的方法访问受保护的
因为该方法只在内部调用。
方法(静态,访问= protected)函数header = getHeaderImpl header = matlab.system.display.Header(“MyCounter”,...“标题”,“我的强化柜台”);结束结束
MATLAB系统块中的控制仿真类型
指定模拟类型以及是否模拟使用参数出现在Simulink中金宝app®MATLAB系统对话框。模拟选项有代码生成的
而且“解释模式”
.
如果不包含getSimulateUsingImpl
方法,则System对象同时允许模拟模式和默认模式代码生成的
.如果不包含showSimulateUsingImpl
方法,模拟使用参数出现在块对话框中。
你必须设置getSimulateUsingImpl
而且showSimulateUsingImpl
方法静态
这些方法的访问受保护的
.
使用getSimulateUsingImpl
指定System对象只允许解释执行。
方法(静态,访问= protected)函数simMode = getSimulateUsingImpl解释执行的;结束结束
控件生成的对话框模拟使用参数:
添加自定义按钮到MATLAB系统块
控件中添加一个按钮MATLAB系统对话框。此按钮打开绘制斜坡函数的图形。
使用matlab.system.display.Action
定义MATLAB®控件中与按钮关联的函数或代码MATLAB系统对话框。该示例还展示了如何设置按钮选项和使用actionData
对象输入以存储数字句柄。这部分代码示例在多次单击按钮时使用相同的图,而不是在每次单击按钮时打开一个新图。
方法(静态,访问= protected)函数group = getPropertyGroupsImpl group = matlab.system.display.Section(mfilename)“类”));组。操作= matlab.system.display.Action(@(actionData,obj)...可视化(obj actionData),“标签”,“可视化”);结束结束方法函数obj = ActionDemo(varargin) setProperties(obj,nargin,varargin{:});结束函数可视化(obj,actionData) f = actionData. userdata;如果Isempty (f) || ~ishandle(f) f = figure;actionData。使用rData = f;其他的图(f);%使图形电流结束d = 1:obj.RampLimit;情节(d);结束结束
控件生成的对话框可视化按钮:
另请参阅
getPropertyGroupsImpl
|matlab.system.display.Section
|matlab.system.display.SectionGroup
|getSimulateUsingImpl
|showSimulateUsingImpl
|getHeaderImpl
|matlab.system.display.Header