主要内容

编辑和表示编码器类型对象和属性

将对象传递给coder.typeof(MATLAB编码器)或将类名作为字符串标量传递给coder.newtype(MATLAB编码器)创建表示用于代码生成的对象类型的对象。

编码器类型对象显示对象属性的简明描述,同时排除内部状态值。非常量属性显示它们的类型和大小,而常量属性只显示它们的值。

若要创建编码器类型对象,请将兼容对象传递给coder.typeof(MATLAB编码器).例如:

T = categorical({“r”‘g’“b”});tType = code .typeof(t)

变量的表示t存储在编码器类型对象中

tType = matlab.code .type. categoricaltype 1x3 categorical类别:3x1同质cell序号:1x1 logical受保护:1x1 logical

对象属性

您可以编辑编码器类型对象的属性。可以为对象属性分配标量值。赋值给编码器类型对象属性时,值会隐式转换为相应的编码器类型值。代码生成器隐式地将赋值给编码器类型对象属性的常量转换为编码器。常数值。你可以调整对象本身的大小

通过使用调整对象大小coder.resize

您可以通过使用来调整大多数对象的大小coder.resize(MATLAB编码器).您可以调整对象的大小及其属性,并在属性中创建数组。

例如,对于a时间表Coder对象,你可以调整对象的大小:

T =时间表((1:5)',(11:15)',“SampleRate”1);tType = code .typeof(t);tType =编码器。resize(tType, [10 2],[10 0])

的大小时间表到一个: 10 x2对象。

tType = matlab.code .type. regulartimetabletype:10x2时间表数据:1x2同构单元描述:1x0字符UserData: 0x0 double DimensionNames: {'Time'} {'Variables'} VariableNames: {'Var1'} {'Var2'} variabledescription: 1x2同构单元VariableUnits: 1x2同构单元variableccontinuity: 1x2 matlab.internal.code . table . continuity StartTime: 1x1 matlab.code .type. durationtype SampleRate: 1x1双TimeStep: 1x1 matlab.code .type. durationtype . durationtype

的常数性质显示它们的值。非常量属性只显示它们的类型和大小。

请注意

不是所有的类型都代表MATLAB®类与coder.resize(MATLAB编码器)

通过编辑对象属性调整对象大小

可以通过编辑属性本身来调整对象的大小。对于一个持续时间编码器类型对象x,编辑大小属性根据需要更改大小。

X = code .typeof(duration((1:3),0,0));x.Size = [10 10]

此代码更改编码器类型对象的大小。

x = matlab.code .type. durationtype 10x10 duration格式:1x8字符

属性,也可以使编码器类型对象为可变大小VarDims国旗:

x.VarDims(2) = true

编码器类型对象的第二个维度的上界为10

x = matlab.code .type. durationtype 10x:10 duration格式:1x8 char

编码器类型对象的遗留表示

R2021a,呼叫coder.typeof不再返回编码器。ClassType对象。如果您的工作流需要编码器类型对象的传统表示形式,请使用getCoderType函数在具有类或对象的新表示形式的变量上执行。的遗留表示形式datetime变量,使用具有新表示形式的变量tt打电话给getCoderType功能:

T = datetime;Tt = code .typeof(t);ttLegacy = tt.getCoderType()

在编码器类型编辑器中,代码生成器包含函数getCoderType对于编码器类型对象。使用此函数返回编码器类型的遗留表示形式。看到的,使用编码器类型编辑器创建和编辑输入类型(MATLAB编码器)

某些MATLAB数据类型为MATLAB代码生成提供了定制的类型表示。在其他情况下,类型用编码器。ClassType(MATLAB编码器)

另请参阅

(MATLAB编码器)|(MATLAB编码器)|(MATLAB编码器)|(MATLAB编码器)