定义基本系统对象
这个例子展示了如何创建一个基本的系统对象™,增加很多。类定义文件中使用的示例包含所需的最小元素定义一个系统对象。
创建系统对象类
您可以创建和编辑MAT-file或使用MATLAB®编辑器来创建您的系统对象。这个例子描述了如何使用新菜单在MATLAB编辑器。
在MATLAB中,在编辑器选项卡上,选择新>系统对象>基本。打开一个简单的系统对象模板。
子类对象从
matlab.System
。取代无标题的
与AddOne
在文件的第一行。classdefAddOne < matlab.System
系统对象是由一个基类,
matlab.System
和可能包括一个或多个mixin类。您指定基类和mixin类在类定义文件的第一行。保存文件和名称
AddOne.m
。
定义算法
的stepImpl
方法包含了算法执行当你运行你的对象。定义这个方法,它包含您希望系统对象执行的操作。
在基本系统对象创建,检查
stepImpl
模板方法。方法(访问=保护)函数y = stepImpl (obj, u)%的实现算法。计算y的函数输入u和%离散状态。y = u;结束结束
的
stepImpl
方法总是将访问受保护的
因为它是一个内部方法,用户不直接调用或运行。所有方法,除了静态方法,要求系统对象处理作为第一个输入参数。由MATLAB编辑默认值,插入
obj
。您可以使用任何名称为您的系统对象句柄。默认情况下,输入和输出的数量都是一个。输入和输出可以添加使用输入/输出。您还可以使用一个变量数量的输入或输出,明白了改变输入的数量。
或者,如果您创建您的系统对象通过编辑MAT-file,您可以添加的
stepImpl
方法使用插入方法>实现算法。改变的计算
stepImpl
添加方法1
的价值u
。方法(访问=保护)函数y = stepImpl (u ~), y = u + 1;结束
提示
而不是通过对象处理,您可以使用波浪号(
~
)表明对象处理中未使用的功能。使用波浪号而不是一个对象处理防止警告未使用的变量。默认删除未使用的方法包括在基本模板。
您可以修改这些方法来添加更多的系统对象的行为和属性。你也可以做任何更改,系统对象仍然运作。
类定义文件现在都为这个系统对象所需的代码。
classdefAddOne < matlab.System% ADDONE计算一个输出值大于输入值%所有方法都发生在一个方法声明。% stepImpl方法保护访问方法(访问=保护)函数y = stepImpl (u ~), y = u + 1;结束结束结束
另请参阅
getNumInputsImpl
|getNumOutputsImpl
|matlab.System
|stepImpl