主要内容

定义基本系统对象

这个例子展示了如何创建一个基本的系统对象™,增加很多。类定义文件中使用的示例包含所需的最小元素定义一个系统对象。

创建系统对象类

您可以创建和编辑MAT-file或使用MATLAB®编辑器来创建您的系统对象。这个例子描述了如何使用菜单在MATLAB编辑器。

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

  2. 子类对象从matlab.System。取代无标题的AddOne在文件的第一行。

    classdefAddOne < matlab.System

    系统对象是由一个基类,matlab.System和可能包括一个或多个mixin类。您指定基类和mixin类在类定义文件的第一行。

  3. 保存文件和名称AddOne.m

定义算法

stepImpl方法包含了算法执行当你运行你的对象。定义这个方法,它包含您希望系统对象执行的操作。

  1. 在基本系统对象创建,检查stepImpl模板方法。

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

    stepImpl方法总是将访问受保护的因为它是一个内部方法,用户不直接调用或运行。

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

    默认情况下,输入和输出的数量都是一个。输入和输出可以添加使用输入/输出。您还可以使用一个变量数量的输入或输出,明白了改变输入的数量

    或者,如果您创建您的系统对象通过编辑MAT-file,您可以添加的stepImpl方法使用插入方法>实现算法

  2. 改变的计算stepImpl添加方法1的价值u

    方法(访问=保护)函数y = stepImpl (u ~), y = u + 1;结束

    提示

    而不是通过对象处理,您可以使用波浪号(~)表明对象处理中未使用的功能。使用波浪号而不是一个对象处理防止警告未使用的变量。

  3. 默认删除未使用的方法包括在基本模板。

    您可以修改这些方法来添加更多的系统对象的行为和属性。你也可以做任何更改,系统对象仍然运作。

类定义文件现在都为这个系统对象所需的代码。

classdefAddOne < matlab.System% ADDONE计算一个输出值大于输入值%所有方法都发生在一个方法声明。% stepImpl方法保护访问方法(访问=保护)函数y = stepImpl (u ~), y = u + 1;结束结束结束

另请参阅

|||

相关的话题