编辑和代表编码器类型对象和属性
将一个对象传递给coder.typeof
或通过类名作为字符串标量coder.newtype
创建一个对象,代表了代码生成的类型的对象。
编码器类型对象显示一个简洁的描述对象属性而不包括内部状态值。非常数的属性显示他们的类型和大小,而不变的属性只显示它们的值。
创建一个编码器类型对象,通过一个兼容的对象coder.typeof
。例如:
t =分类({“r”,‘g’,“b”});式= coder.typeof (t)
的代表性变量t
存储在编码器类型对象式
。
式= matlab.coder.type。CategoricalType 1 x3分类类别:3 x1均匀细胞顺序:1 x1逻辑保护:1 x1逻辑
对象属性
您可以编辑编码器类型对象的属性。你可以把标量值分配给对象属性。值是隐式转换为相应的编码器类型值时被分配到编码器类型对象属性。代码生成器隐式转换常量分配给编码器类型对象属性coder.Constant
值。您可以调整对象本身
调整对象通过使用coder.resize
您可以调整大多数对象使用coder.resize
。您可以调整对象,其属性在属性和创建数组。
例如,对于一个时间表
编码器对象,您可以调整的对象:
t =时间表((1:5),(15),“SampleRate”1);式= coder.typeof (t);式=编码器。调整(式、2 [10]、[1 0])
这段代码修改尺寸时间表
到一个:10 x2
对象。
式= matlab.coder.type。RegularTimetableType: 10 x2时间表数据:1 x2均匀单元描述:1 x0 char用户数据:0 x0双重DimensionNames:{‘时间’}{}“变量”VariableNames: {“Var1”} {‘Var2} VariableDescriptions: 1 x2均匀细胞VariableUnits: 1 x2均匀细胞VariableContinuity: 1 x2 matlab.internal.coder.tabular.Continuity开始时间:1 x1 matlab.coder.type。DurationType SampleRate: 1 x1双重步伐:1 x1 matlab.coder.type.DurationType
常数的性质式
显示他们的价值观。非常数的属性只显示他们的类型和大小。
请注意
并不是所有的类型代表MATLAB®类是兼容coder.resize
。
调整对象通过编辑对象的属性
您可以调整对象通过编辑属性本身。对于一个持续时间
编码器类型对象x
,编辑大小
属性改变大小。
x = coder.typeof(持续时间((1:3),0,0));x。大小= 10 [10]
这段代码更改编码器类型对象的大小。
x = matlab.coder.type。DurationType 10 x10时间格式:1×8字符
你也可以通过设置编码器类型对象的适应VarDims
国旗:
x.VarDims (2) = true
第二个编码器类型对象的维度是上限10
。
x = matlab.coder.type。DurationType 10 x: 10时间格式:1×8字符
遗留的编码器类型对象
在R2021a,称coder.typeof
不再返回一个coder.ClassType
对象。如果你的工作流程需要编码器的遗产表示类型对象,使用getCoderType
函数的变量的新代表类或对象。例如,要获取的遗产表示datetime
变量,使用的变量有新的表现tt
调用getCoderType
功能:
t = datetime;tt = coder.typeof (t);ttLegacy = tt.getCoderType ()
在编码器类型编辑器中,代码生成器包括函数getCoderType
编码器类型对象。使用这个函数返回的遗产表示编码器类型。看到的,创建和编辑输入类型使用编码器类型编辑器
某些MATLAB数据类型为MATLAB代码生成提供定制类型表示。在其他情况下,表示使用类型coder.ClassType
。