此示例演示如何创建基本系统对象™ 将一个数字增加一。示例中使用的类定义文件包含定义系统对象所需的最少元素。
您可以创建和编辑MAT文件或使用MATLAB®编辑器来创建系统对象。此示例描述如何使用新的MATLAB编辑器中的菜单。
在MATLAB中的“编辑器”选项卡上,选择新的>系统对象>基本的. 将打开一个简单的系统对象模板。
将对象从子类化系统
. 代替无标题
具有阿登
在文件的第一行。
classdefAddOne
系统对象由基类组成,系统
并且可以包括一个或多个mixin类。在类定义文件的第一行指定基类和mixin类。
保存文件并将其命名AddOne.m
.
这个斯捷潘普
方法包含运行对象时要执行的算法。定义此方法,使其包含希望系统对象执行的操作。
在创建的基本系统对象中,检查斯捷潘普
方法模板。
方法(访问=受保护)功能y=STEPIMP(obj,u)%实现算法。计算y作为输入u和的函数%离散状态。y=u;结束结束
这个斯捷潘普
方法访问始终设置为受保护的
因为它是一个用户不能直接调用或运行的内部方法。
除了静态方法外,所有方法都需要System对象句柄作为第一个输入参数。由MATLAB编辑器插入的默认值为obj
. 您可以为系统对象句柄使用任何名称。
默认情况下,输入和输出的数量都是一个。可以使用输入/输出. 您还可以使用数量可变的输入或输出,请参阅更改输入的数量.
或者,如果通过编辑MAT文件创建系统对象,则可以添加斯捷潘普
方法使用插入方法>实现算法.
更改中的计算斯捷潘普
要添加的方法1.
价值U
.
方法(访问=受保护)功能y=steppimpl(~,u)y=u+1;结束
提示
您可以使用平铺,而不是传递对象句柄(~
)指示函数中未使用对象句柄。使用tilde而不是对象句柄可以防止有关未使用变量的警告。
删除默认情况下包含在基本模板中的未使用方法。
您可以修改这些方法以添加更多系统对象操作和属性。也可以不进行任何更改,系统对象仍按预期运行。
类定义文件现在具有此系统对象所需的所有代码。
classdefAddOne%ADDONE计算一个比输入值大一的输出值%所有方法都出现在方法声明中。%stepImpl方法具有受保护的访问权限方法(访问=受保护)功能y=steppimpl(~,u)y=u+1;结束结束结束
getNumInputsImpl
|getNumOutputsImpl
|系统
|斯捷潘普