指定对象作为输入MATLAB编码器应用程序
在MATLAB®编码器™应用程序,指定的类型的一个输入值类对象:
定义类的值。例如,定义一个类
myRectangle
。classdefmyRectangle属性长度;宽度;结束方法函数obj = myRectangle (l, w)如果输入参数个数> 0 obj。长度= l;obj。宽度= w;结束结束函数面积=钙质海绵纲(obj)面积= obj。长度* obj.width;结束结束结束
定义一个函数,接受值类的一个对象作为输入。例如:
函数z = getarea(右)% # codegenz =钙质海绵纲(r);结束
在这个应用程序中,创建一个项目
getarea
。在定义输入类型页面上,指定类型的对象在其中的一个方面:
自动定义一个对象的输入类型
编写一个测试文件
getarea_test
创建一个对象myRectangle
类,并将其传递到getarea
。例如:rect_obj = myRectangle (4、5);rect_area = getarea (rect_obj);disp (rect_area);
在应用,定义输入类型页面上,指定测试文件
getarea_test
。点击Autodefine输入类型。
提供一个例子
如果你提供价值类的一个对象,应用程序使用大小和类型的实例对象的属性。
在MATLAB中,定义一个对象类的价值
myRectangle
。rect_obj = myRectangle (4、5)
在应用,定义输入类型页面,点击让我进入直接输入或全球类型。
单击右边的输入参数
r
。选择定义的例子。
输入
rect_obj
或者从列表中选择它的工作空间变量。应用程序决定了属性和它们的大小和类型的对象实例。
或者,您可以提供价值的类名,myRectangle
,或者一个coder.ClassType
对象的类。定义一个coder.ClassType
对象,使用coder.typeof
。例如:
在MATLAB中,定义一个
coder.ClassType
对象具有相同的属性rect_obj
。t = coder.typeof (rect_obj)
的应用,提供
t
为例。
改变大小或类型的属性,单击字段右侧的属性。
类型定义之间的一致性和类定义文件
生成代码时,您定义的属性在应用程序必须符合类定义中的属性文件。如果类定义文件属性,不使用你的代码,你的类型定义在应用程序不需要包含这些属性。代码生成器删除属性,代码没有使用。
限制使用对象作为入口点函数的输入
入口点函数的输入对象有这些限制:
的对象是一个入口点函数值类的输入必须是一个对象。处理类的对象不能入口点函数的输入。因此,一个值类,它包含一个处理类不能被一个入口点函数的输入。
一个对象不能被一个全局变量。
如果一个对象有重复的属性名称,你不能使用它
coder.Constant
。重复的属性名称出现在一个子类的对象在这些情况下:子类的属性相同的名称作为一个超类的属性。
的子类来源于多个超类使用相同名称的属性。
信息在MATLAB允许重复的属性名称,明白了子类化多个类。