主要内容

定义基本系统对象

此示例演示如何创建基本系统对象™ 将一个数字增加一。示例中使用的类定义文件包含定义系统对象所需的最少元素。

创建系统对象类

您可以创建和编辑MAT文件或使用MATLAB®编辑器来创建系统对象。此示例描述如何使用新的MATLAB编辑器中的菜单。

  1. 在MATLAB中的“编辑器”选项卡上,选择新的>系统对象>基本的. 将打开一个简单的系统对象模板。

  2. 将对象从子类化系统. 代替无标题具有阿登在文件的第一行。

    classdefAddOne
                     

    系统对象由基类组成,系统并且可以包括一个或多个mixin类。在类定义文件的第一行指定基类和mixin类。

  3. 保存文件并将其命名AddOne.m.

定义算法

这个斯捷潘普方法包含运行对象时要执行的算法。定义此方法,使其包含希望系统对象执行的操作。

  1. 在创建的基本系统对象中,检查斯捷潘普方法模板。

    方法(访问=受保护)功能y=STEPIMP(obj,u)%实现算法。计算y作为输入u和的函数%离散状态。y=u;结束结束

    这个斯捷潘普方法访问始终设置为受保护的因为它是一个用户不能直接调用或运行的内部方法。

    除了静态方法外,所有方法都需要System对象句柄作为第一个输入参数。由MATLAB编辑器插入的默认值为obj. 您可以为系统对象句柄使用任何名称。

    默认情况下,输入和输出的数量都是一个。可以使用输入/输出. 您还可以使用数量可变的输入或输出,请参阅更改输入的数量.

    或者,如果通过编辑MAT文件创建系统对象,则可以添加斯捷潘普方法使用插入方法>实现算法.

  2. 更改中的计算斯捷潘普要添加的方法1.价值U.

    方法(访问=受保护)功能y=steppimpl(~,u)y=u+1;结束

    提示

    您可以使用平铺,而不是传递对象句柄(~)指示函数中未使用对象句柄。使用tilde而不是对象句柄可以防止有关未使用变量的警告。

  3. 删除默认情况下包含在基本模板中的未使用方法。

    您可以修改这些方法以添加更多系统对象操作和属性。也可以不进行任何更改,系统对象仍按预期运行。

类定义文件现在具有此系统对象所需的所有代码。

classdefAddOne%ADDONE计算一个比输入值大一的输出值%所有方法都出现在方法声明中。%stepImpl方法具有受保护的访问权限方法(访问=受保护)功能y=steppimpl(~,u)y=u+1;结束结束结束

另见

|||

相关的话题