定义基本系统对象
此示例演示如何创建一个基本的System对象™,该对象将数字加1。示例中使用的类定义文件包含定义System对象所需的最小元素。
创建系统对象类
您可以创建和编辑mat文件或使用MATLAB®编辑器来创建System对象。命令的使用方法新菜单中的MATLAB编辑器。
在MATLAB中,在编辑器选项卡上,选择新>系统对象>基本.打开一个简单的System对象模板。
继承对象的子类
matlab。系统
.取代无标题的
与AddOne
在你文件的第一行。classdefAddOne < matlab。系统
系统对象由基类、
matlab。系统
并且可能包括一个或多个mixin类。在类定义文件的第一行指定基类和mixin类。保存文件并命名
AddOne.m
.
定义算法
的stepImpl
方法包含运行对象时要执行的算法。定义此方法,使其包含您希望System对象执行的操作。
在您创建的基本System对象中,检查
stepImpl
模板方法。方法(Access = protected)函数y = stepImpl(obj,u)实现算法。计算y作为输入u和的函数%离散状态。Y = u;结束结束
的
stepImpl
方法访问总是设置为受保护的
因为它是一个内部方法,用户不能直接调用或运行。除静态方法外,所有方法都要求System对象句柄作为第一个输入参数。由MATLAB编辑器插入的默认值为
obj
.您可以为System对象句柄使用任何名称。缺省情况下,输入输出数均为1。输入和输出可以使用输入/输出.也可以使用可变数量的输入或输出,请参见改变输入的数量.
或者,如果通过编辑mat文件创建System对象,则可以添加
stepImpl
方法使用插入方法>实现算法.中的计算更改
stepImpl
方法。1
的价值u
.方法(Access = protected)函数y = stepImpl(~,u) y = u + 1;结束
提示
不用传入对象句柄,可以使用波浪号(
~
)表示该对象句柄未在函数中使用。使用波浪号代替对象句柄可以防止对未使用变量发出警告。删除基本模板中默认包含的未使用的方法。
您可以修改这些方法以添加更多System对象操作和属性。您也可以不做任何更改,而System对象仍然按预期操作。
类定义文件现在拥有这个System对象所需的所有代码。
classdefAddOne < matlab。系统计算一个比输入值大1的输出值所有方法都出现在方法声明中。stepImpl方法具有受保护的访问权限方法(访问=受保护)函数y = stepImpl(~,u) y = u + 1;结束结束结束
另请参阅
stepImpl
|getNumInputsImpl
|getNumOutputsImpl
|matlab。系统