文档

coder.newtype

包:编码器

创建一个编码器。类型对象

语法

t = coder.newtype (numeric_class,深圳,variable_dims)
t = coder.newtype (numeric_class,深圳,variable_dims,的名字,价值)
t = coder.newtype ('constant', value)
t = coder.newtype ('struct', struct_fields, sz, variable_dims)
t = coder.newtype ('cell', cells, sz, variable_dims)
t = coder.newtype(“嵌入式。fi的numerictype,深圳,variable_dims,的名字,价值)
t = coder.newtype (enum_value,深圳,variable_dims)
t = coder.newtype (class_name)
t = coder.newtype(字符串)

描述

请注意

coder.newtype是一个高级功能,您可以使用它来控制编码器。类型对象。考虑使用coder.typeof代替。coder.typeof创建一个类型从MATLAB®的例子。

t= coder.newtype (numeric_class深圳variable_dims创建一个编码器。类型表示类值的对象numeric_class(上界)大小深圳和变量维度variable_dims.如果深圳指定对于一个维度,那么该维度的大小是无界的,且该维度是可变大小的。当variable_dims,则类型的尺寸是固定的,除了那些没有边界的尺寸。当variable_dims是标量吗,它适用于非标量类型的维度10,是固定的。

t= coder.newtype (numeric_class深圳variable_dims、名称、值)创建一个编码器。类型对象的附加选项由一个或多个Name、Value参数对指定。

t= coder.newtype ('constant', value)创建一个编码器。常数对象,表示单个值。使用此类型指定在生成的代码中必须作为常量处理的值。

t= coder.newtype(“结构”,struct_fields深圳variable_dims创建一个编码器。StructType对象,该数组的结构具有与标量结构相同的字段struct_fields.结构数组类型具有指定的大小深圳可变尺寸的尺寸由variable_dims

t= coder.newtype(“细胞”,细胞深圳variable_dims创建一个编码器。CellType对象指定的单元格和单元格类型的单元格数组的细胞.单元格数组类型具有指定的大小深圳可变尺寸的尺寸由variable_dims.不能更改异构单元数组的单元数或指定可变大小的维度。

t= coder.newtype(嵌入式。fi的numerictype,深圳variable_dims、名称、值)创建一个编码器。FiType对象,表示一组定点值numerictype以及由一个或多个Name、Value参数对指定的附加选项。

t= coder.newtype (enum_value深圳variable_dims创建一个编码器。类型对象,表示类的一组枚举值enum_value

t= coder.newtype (class_name创建一个编码器。ClassType类的对象的对象class_name

t= coder.newtype(字符串)创建字符串标量的类型。字符串标量包含一段表示为字符向量的文本。要指定字符向量的大小以及第二个维度是否为variable-size,请为字符向量创建一个类型并将其分配给价值字符串标量类型的属性。例如,t.Properties.Value =编码器。Newtype ('char',[1 10], [0 1])指定字符串标量内的字符向量为可变大小,上限为10。

输入参数

numeric_class

类型对象所表示的一组值的。

struct_fields

用于指定新结构类型中的字段的标量结构。

细胞

单元阵列的编码器。类型对象,该对象指定新单元格数组类型中的单元格类型。

深圳

指定对象类型的每个维度的大小向量。深圳无法更改异构单元阵列的单元数。

默认值:[1]

class_name

类的名称,从中创建编码器。ClassType,指定为字符向量或字符串标量。class_name必须是值类的名称。

variable_dims

指定每个维度是可变大小(真)还是固定大小(假)的逻辑向量。不能为异构单元格数组指定大小可变的维度。

默认值:真正的对于以下尺寸深圳的上限对于所有其他维度。

名称-值对的观点

指定可选的用逗号分隔的对名称,值参数。的名字参数是name和价值为对应值。的名字必须出现在单引号内(' ').可以以任意顺序指定多个名称和值对参数Name1, Value1,…,的家

“复杂”

复杂的真正的创建一个编码器。类型可以表示复杂值的对象。类型必须支持复杂数据。万博1manbetx

默认值:

“fimath”

指定的地方fimath.如果fimath,使用默认fimath值。

只使用与t= coder.newtype(嵌入式。fi的numerictype,深圳variable_dims、名称、值)。

“稀疏”

稀疏的真正的创建一个编码器。类型表示稀疏数据的对象。类型必须支持稀疏数据。万博1manbetx

不适用于t= coder.newtype(嵌入式。fi的numerictype,深圳variable_dims、名称、值)

默认值:

输出参数

t

编码器。类型对象。

例子

创建用于代码生成的类型。

t =编码器。newtype('double',[2 3 4],[1 1 0]) %返回double:2x: 3x4% ':'表示变量大小的维度

创建一个双精度矩阵的类型,第一个维度无界,第二个维度固定大小

code .newtype('double',[inf,3]) %返回double:inf x 3编码器。Newtype ('double', [inf, 3],[10]) %也返回double:inf x3 % ':'表示变量大小的维度

创建一个双精度矩阵的类型,第一个维度无界,第二个维度大小可变,上限为3.

coder.newtype('double', [inf,3],[0 1]) % returns double :inf x :3 % ':' indicates variable-size dimensions

创建在代码生成中使用的结构类型。

ta =编码器。newtype(“int8”,[1]);结核病=编码器。newtype(“双”,[1 - 2],[1]);code .newtype('struct',struct('a',ta,'b',tb)) %返回struct 1x1 % a: int8 1x1 % b: double:1x: 2% ':'表示变量大小维度

创建在代码生成中使用的单元格数组。

ta =编码器。newtype(“int8”,[1]);结核病=编码器。newtype(“双”,[1 - 2],[1]);coder.newtype('cell',{ta, tb}) % returns 1x2 heterogeneous cell % f0: 1x1 int8 % f1: :1x:2 double % ':' indicates variable-size dimensions

创建在代码生成中使用的新常量类型。

k =编码器。newtype(“常数”,42岁);%返回% k = % %编码器。常数% 42

创建一个编码器。EnumType对象,使用现有MATLAB枚举的名称。

  1. 定义一个枚举MyColors.在MATLAB路径上,创建一个名为“MyColors”的文件,包含:

    classdef MyColors < int32枚举绿色(1),红色(2),结束结束

  2. 创建一个编码器。EnumType对象。

    t = coder.newtype(“MyColors”);

创建用于代码生成的固定点类型。定点类型使用默认的fimath值。

t = coder.newtype(“embedded.fi”,…numerictype(1,16,15), [1 2]) t = %返回%编码器。fittype % 1x2嵌入。fi % DataTypeMode:定点:二进制点缩放%签名:签名% WordLength: 16 % FractionLength: 15

创建用于代码生成的对象的类型。

  1. 创建这个值类:

    classdef mySquare属性侧;结束方法函数obj = mySquare(val)结束如果nargin > 0 obj。一边= val;结束函数a = calarea (obj) a = obj。* obj.side;结束结束结束

  2. 为具有相同属性的对象创建类型mySquare

    t = coder.newtype(“mySquare”)

  3. 更改属性的类型一边

    t.Properties.side = coder.typeof (int8 (3))
    t =编码器。ClassType1×1mySquare一边: 1×1 int8

为在代码生成中使用的字符串标量创建类型。

  1. 创建字符串标量类型。

    t = coder.newtype('字符串');

  2. 指定的大小。

    t.Properties.Value =编码器。newtype(“字符”,[1,10])
    t =编码器。ClassType1×1string -> redirected to -> coder.internal.string Value: 1×10 char

  3. 将字符串设置为variable-size,上限为10。

    t.Properties.Value =编码器。Newtype ('char',[1, 10], [0, 1])

  4. 将字符串设置为变量大小,没有上限。

    t.Properties.Value =编码器。newtype(“字符”,[1,正])

提示

  • coder.newtype修复单个维度的大小,除非variable_dims参数显式指定单例维度具有可变大小。

    例如,下面的代码指定一个1-by-:10的双精度数。第一个维度(单例维度)的大小是固定的。第二个维度的大小是可变的。

    t = coder.newtype (“双”, 10 [1], 1)
    相反,下面的代码指定了:1-by-:10的双精度。两个维度的大小都是可变的。
    t = coder.newtype (“双”, 10 [1], [1])

    请注意

    对于一个MATLAB函数输入或输出信号的块、单个维度不能有可变的大小。

选择

coder.typeof

介绍了R2011a

这个话题有用吗?