使用 MATLAB 编辑器插入 System object 代码
通过代码插入定义 System object
您可以在 MATLAB® 编辑器中使用代码插入选项来定义 System object。当您选择这些选项时,MATLAB 编辑器可为 System object™ 添加预定义的属性、方法、状态、输入或输出。使用这些工具可更快地创建并修改 System object,以及通过减少键入错误来提高准确性。GUI 在 MATLAB Online 上略有不同,但功能相同。
要访问 System object 编辑选项,请创建一个新的或打开一个现有的 System object。
要为 System object 添加预定义的代码,请从相应的菜单中选择该代码。例如,当您点击插入属性 > 数值时,MATLAB 编辑器将添加以下代码:
properties(Nontunable)
Property
end
MATLAB 编辑器会插入具有默认名称 Property
的新属性,您可以对该名称进行重命名。如果您的现有属性组带有 Nontunable
特性,则 MATLAB 编辑器会将新属性插入到该组中。如果您没有属性组,MATLAB 编辑器将创建一个具有正确特性的属性组。
插入选项
属性 | System object 的属性:数值、逻辑、枚举、正整数、可调数值、私有、受保护和自定义。当您选择“枚举”或“自定义”属性时,将打开一个单独的对话框,以指导您创建这些属性。 |
方法 | System object 定义中的常用方法。MATLAB 编辑器只会创建方法结构体。您需要指定该方法的操作。 插入方法菜单按类别来整理方法,例如算法、输入和输出以及属性和状态。当您从该菜单中选择一种方法时,MATLAB 编辑器会将方法模板插入到 System object 代码中。在此示例中,选择插入方法 > 释放资源将插入以下代码: function releaseImpl(obj) % Release resources, such as file handles end 如果插入方法菜单中的某个方法已存在于 System object 代码中,则该方法在插入方法菜单中灰显: |
状态 | 包含 |
输入/输出 | 输入、输出以及相关方法,例如验证输入和不允许更改输入大小。 当您选择某个输入或输出时,MATLAB 编辑器将在 function y = stepImpl(obj,u,u2) % Implement algorithm. Calculate y as a function of % input u and discrete states. y = u; end |
创建温度枚举属性
打开一个新的或现有的 System object。
在 MATLAB 编辑器中,选择插入属性 > 枚举。
在枚举对话框中,输入:
属性名称为
TemperatureUnit
。枚举名称为
TemperatureUnitValues
。
选中创建新枚举复选框。
使用 -(减号)按钮删除现有枚举值。
使用 +(加号)按钮和以下值添加三个枚举值:
Fahrenheit
Celsius
Kelvin
点击默认选择
Fahrenheit
作为默认值。该对话框现在看上去如下所示:
要创建此枚举和关联的类,请点击插入。
在 MATLAB 编辑器中,将创建具有该枚举定义的附加类文件。将该枚举类定义文件另存为
TemperatureUnitValues.m
。classdef TemperatureUnitValues < int32 enumeration Fahrenheit (0) Celsius (1) Kelvin (2) end end
在 System object 类定义中,添加了以下代码:
properties(Nontunable) TemperatureUnit (1, 1) TemperatureUnitValues = TemperatureUnitValues.Fahrenheit end
有关枚举的详细信息,请参阅将属性值限制为有限列表。
为冻结点创建自定义属性
打开一个新的或现有的 System object。
在 MATLAB 编辑器中,选择插入属性 > 自定义属性。
在“自定义属性”对话框的 System object 属性下,选择 Nontunable。在 MATLAB 属性特性下,选择 Constant。将 GetAccess 保留设置为 public。SetAccess 将被灰显,因为无法使用 System object 方法来设置类型为常量的属性。
点击插入,并将以下代码插入到 System object 定义中:
properties(Nontunable, Constant) Property end
将
Property
替换为您的属性。properties(Nontunable, Constant) FreezingPointFahrenheit = 32; end
添加方法来验证输入
打开一个新的或现有的 System object。
在 MATLAB 编辑器中,选择插入方法 > 验证输入。
MATLAB 编辑器会将以下代码插入到 System object 中:
function validateInputsImpl(obj,u) % Validate inputs to the step method at initialization end