主要内容

自定义系统块对话框

通过在相应的System对象中添加属性和方法,您可以自定义MATLAB System块的对话框。您可以添加选项卡,将属性组织到组和节中,添加块描述,模拟类型控制,并添加自定义按钮。

定义块对话框选项卡、节和属性顺序

控件的块对话框MultipleGroupsWithTabsMATLAB系统块通过指定属性显示名称和修改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系统对话框。此按钮打开绘制斜坡函数的图形。

使用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);结束结束

完成对话框按钮的类定义文件

控件生成的对话框可视化按钮:

产生的MATLAB系统块对话框,自定义按钮标签为“可视化”。

另请参阅

||||||

相关的话题