主要内容

插入系统对象代码使用MATLAB编辑器

使用代码插入定义系统对象

您可以从MATLAB定义系统对象®编辑器使用代码插入选项。当您选择这些选项时,MATLAB编辑器会将预定义的属性、方法、状态、输入或输出添加到System对象™。使用这些工具可以更快地创建和修改System对象,并通过减少键入错误来提高准确性。图形用户界面与在线MATLAB略有不同,但功能相同。

若要访问System对象编辑选项,请创建一个新的System对象,或打开现有的System对象。

若要向System对象添加预定义代码,请从相应的菜单中选择代码。例如,当你点击插入属性>数字, MATLAB编辑器添加如下代码:

属性(Nontunable)属性结束

MATLAB编辑器使用默认名称插入新属性财产,可以重命名。属性的现有属性组Nontunable属性,MATLAB编辑器将新属性插入到该组中。如果没有属性组,MATLAB编辑器会创建一个具有正确属性的属性组。

插入选项

属性

System对象的属性:数字、逻辑、枚举、正整数、可调数字、私有、受保护和自定义。当您选择枚举或自定义属性时,将打开一个单独的对话框来指导您创建这些属性。

方法

系统对象定义中常用的方法。MATLAB编辑器只创建方法结构。您可以指定该方法的操作。

插入方法菜单按类别组织方法,例如算法输入和输出,属性和状态.从菜单中选择方法时,MATLAB编辑器会将方法模板插入系统对象代码中。在本例中,选择插入方法>释放资源插入以下代码:

函数releaseImpl (obj)释放资源,例如文件句柄结束

方法中的插入方法菜单中出现时,该方法显示在插入方法菜单:

属性包含DiscreteState属性。

输入/输出

输入、输出和相关方法,如验证输入而且禁止改变输入大小

选择输入或输出时,MATLAB编辑器将指定的代码插入stepImpl方法。在本例中,选择插入>输入使MATLAB编辑器插入所需的输入变量u2.MATLAB编辑器确定变量名,但您可以在插入后更改它。

函数y = stepImpl(obj,u,u2)实现算法。计算y作为的函数输入u和离散状态。Y = u;结束

创建一个温度枚举

  1. 打开一个新的或现有的System对象。

  2. 在MATLAB编辑器中,选择插入属性>枚举

  3. 枚举对话框,输入:

    1. 属性名TemperatureUnit

    2. 枚举名称TemperatureUnitValues

  4. 选择创建新的枚举复选框。

  5. 方法删除现有的枚举值-(-)按钮。

  6. 添加三个枚举值与+(加号)按钮和以下值:

    • 华氏温度

    • 摄氏

    • 开尔文

  7. 选择华氏温度单击,设置为默认值默认的

    对话框现在看起来如下所示:

  8. 若要创建此枚举和相关类,请单击插入

  9. 在MATLAB编辑器中,创建了一个带有枚举定义的附加类文件。将枚举类定义文件保存为TemperatureUnitValues.m

    classdefTemperatureUnitValues < int32枚举华氏(0)摄氏度(1)开尔文(2)结束结束

    在System对象类定义中,添加了以下代码:

    属性(不可调)温度单元(1,1)温度单元值=温度单元值。华氏温度结束

有关枚举的详细信息,请参见将属性值限制为有限列表

为冰点创建自定义属性

  1. 打开一个新的或现有的System对象。

  2. 在MATLAB编辑器中,选择插入属性>自定义属性

  3. 在“自定义属性”对话框中,下面系统对象属性中,选择Nontunable.下MATLAB属性属性中,选择常数.离开GetAccess作为公共SetAccess为灰色,因为类型常量的属性不能使用系统对象方法设置。

  4. 点击插入下面的代码被插入到System对象定义中:

    properties(不可调,常量)属性结束
  5. 取代财产用你的财产。

    属性(不可调,常量)FreezingPointFahrenheit = 32;结束

添加方法来验证输入

  1. 打开一个新的或现有的System对象。

  2. 在MATLAB编辑器中,选择插入方法>验证输入

    MATLAB编辑器将以下代码插入到System对象中:

    函数validateInputsImpl (obj, u)在初始化时验证step方法的输入结束

相关的话题