主要内容

このページの翻訳は最新ではありませ。

coder.typeof

エントリポイント関数の入力の型を表す编码器。类型オブジェクトを作成

説明

メモ

编码器。类型オブジェクトの作成と編集は,コード生成の型エディターを使用して対話形式で行うこともできます。コード生成の型エディターを使用した入力の型の作成と編集を参照してください。

type_obj= coder.typeof (v编码器。类型から派生したオブジェクトを作成して,コード生成用にvの型を表します。coder.typeofは,入力パラメーターの型指定するする场ににし。関数Codegen.arg游戏オプションと併用したり,サンプルコードを提供して入力型を定義する際に马铃薯草®编码器™プロジェクトプロジェクトでこの关键词使の生成元なるMATLABコードコードでは,この关节

type_obj= coder.typeof (vSZ.变量_dims.では,SZ.で指定された上限サイズと,变量_dims.で指定された可変次元をもつtype_obj= coder.typeof (v)の変更されたコピーが返されます。

type_obj= coder.typeof (v, Gpu,真的)はコード生成用にvをGPU入力型として表す编码器。类型から派生したオブジェクトを作成します。このオプションには有効なGPU编码器™ライセンスが必要です。

type_obj= coder.typeof (type_objtype_obj自体を返します。

すべて折りたたむ

双重でで固定サイズのシンプルシンプル5 x6行列に対する型を作物成し。

Coder.typeof(5,6))
ans = coder.primitiveType 5×6双倍

Coder.typeof(0,[5 6])
ans = coder.primitiveType 5×6双倍

双重可変行列のを作物成し。

Coder.typeof(1/3),[],1)
ans =编码器。PrimitiveType:3×:3 double % ':'表示变量大小的维度

固定サイズの次元と可変サイズの次元をもつ行列の型を作成します。

coder.typeof(0,[2,3,4],[1 0 1])
ans =编码器。PrimitiveType: 2×3×4双

Coder.typeof(10,[1 5],1)
ans =编码器。PrimitiveType 1×:5 double % ':'表示可变大小的维度

最初の次元は制なし,2番目の次元はサイズ双の行列の型をを作物。

(正,3)coder.typeof(10日)
ans =编码器。PrimitiveType:inf×3 double % ':'表示可变大小的维度

最初の次元はははなし,2番目の次元は上限サイズが3の可変サイズ双重行为列のを作物

Coder.typeof(10,[INF,3],[0 1])
ans =编码器。PrimitiveType: inf×3双

固定サイズの行列を可変サイズの行列に変換します。

Coder.typeof(ith(5,5),[],1)
ans =编码器。PrimitiveType:5×:5 double % ':'表示变量大小的维度

可変サイズフィールドもつ构造体の型を作物成。

x.a = coder.typeof(0,[3 5],1);x.b =魔术(3);coder.typeof(x)
ANS = Coder.StructType 1×1结构A :: 3×:5双B:3×3双%':'表示可变尺寸尺寸

入れ子ににれた体(别の构造体のフィールドとなる体)。

S =结构('一种'、双(0)'B'单(0));supers.x = coder.typeof;supers.y =单(0);coder.typeof(管理员)
ANS =编码器。SurstryType 1×1结构x:1×1结构A:1×1双B:1×1单y:1×1单

構造体の可変サイズ配列をフィールドとして含む構造体を作成します。

S =结构('一种'、双(0)'B'单(0));管理员。x =编码器。typeof(S,[1 inf],[0 1]); SuperS.y = single(0); coder.typeof(SuperS)
ANS =编码器.STURTTYPE 1×1结构X:1×:INF STRUCT A:1×1双B:1×1单y:1×1单个%':'表示可变尺寸尺寸

可変サイズフィールドをもつ同種细胞配列の型を作成します。

a = coder.typeof(0,[3 5],1);B =魔术(3);coder.typeof({a b})
ans =编码器。CellType 1×2 homogeneous cell base::3×:5 double % ':'表示可变大小的维度

異種混合细胞配列の型を作成します。

一个= coder.typeof ('一种');b = coder.typeof (1);coder.typeof({a b})
ans =编码器。cell type 1×2异构细胞f1: 1×1 char f2: 1×1 double

クラスクラスが同じでサイズが异なる异なる配列,可以変からサイズ同细胞

1.サイズが异なる2つの文本ベクトルベクトル含まれる配列のをがます。

coder.typeof ({'aa''bbb'})
ans =编码器。cell type 1×2异构细胞f1: 1×2 char f2: 1×3 char

2.同じ细胞配列入力を使用して型を作成します。今度は,可変サイズの次元をもつ细胞配列型を指定します。细胞配列型は同種になります。

coder.typeof ({'aa''bbb'}, [1, 10], [0,1])
ans =编码器。CellType 1×:10 locked homogeneous cell base: 1×:3 char % ':'表示可变大小的维度

固定サイズの配列を制限付きの可変サイズ配列に変更します。

値値クラスオブジェクトのの作作作者

1.次の値クラスを作物成し。

Classdef.mySquare属性边;结束方法函数obj = mysquare(val)如果Nargin > 0 obj。一边= val;结束结束函数a = calcarea(obj)a = obj.side * obj.side;结束结束结束

2.mySquareのオブジェクトを作成します。

sq_obj = coder.typeof(mysquare(4))
sq_obj =编码器。ClassType 1×1 mySquare侧:1×1双

3。sq_objと同じプロパティをもつオブジェクトの型を作成します。

t = coder.typeof (sq_obj)
t =编码器.Classtype 1×1 mysquare侧:1×1双

あるいは,クラスクラス定义から型作物

t = coder.typeof (mySquare (4))
t =编码器.Classtype 1×1 mysquare侧:1×1双

字符串スカラーを定義します。次に例を示します。

S =“就是”

年代から型を作成します。

t = coder.typeof;

tを可変サイズにするはは,t价值プロパティを必要な上限をもつ可変サイズの文字ベクトルの型に割り当てます。たとえば,t型が上限10の可変サイズであると指定します。

t.Properties.Value = coder.typeof ('一种', 10 [1], [0 1]);

tが可変サイズであり,上限がないことを指定するには,次のようにします。

t.Properties.Value = coder.typeof ('一种'[1正]);

arg游戏オプションを使用して,型をCodegen.に渡します。

Codegen.myFunctionarg游戏{t}

入力数

すべて折りたたむ

vはMATLABの数値,逻辑値,文标,列挙,固定小数配列にすることができます。vもも前述の型を含む,繁体,値クラスにするます。

vが细胞配列で,クラスが同じでサイズが異なる要素がある場合に可変サイズの次元を指定すると,coder.typeofは同种细胞配列配列を作用成し。要素に异なるクラスがあるある合,coder.typeofでエラーが报告さますます。

例:coder.typeof((5、6));

データ型:一半|单身的|双倍的|int8|INT16|INT32.|INT64.|uint8.|uint16|UINT32|UINT64|逻辑|char|细绳|结构体|表格|细胞|function_handle|分类|datetime|持续时间|日历|fi
複素数のサポート:あり

型オブジェクトの各次元を指定するサイズベクトル。

SZ.で次元にinfを指定する场合は,次元のサイズは无限で,次元は可変サイズです。SZ.[]の结合は,vの上限サイズは変化しません。

サイズが指定されれないない合书,SZ.vの既定の次元を使用します。

例:Coder.typeof(0,[5,6]);

データ型:单身的|双倍的|int8|INT16|INT32.|INT64.|uint8.|uint16|UINT32|UINT64

各次元のサイズが可変か(真实),固定(false)かを指定する逻辑ベクトル。细胞配列の要素に異なるクラスがある場合,可変サイズの次元は指定できません。

变量_dims.入力パラメーターを指定しないと,この型の制限付き次元は固定になります。

スカラー变量_dims.はすべての次元に適用されます。ただし,变量_dims.1の場合,大きさが1の次元のサイズは固定されたままになります。

例:coder.typeof(0,[2,3,4],[1 0 1]);

データ型:逻辑

コード生成のためのvの型を表す编码器。类型オブジェクト。

例:type_obj = coder.typeof((5、6));

データ型:单身的|双倍的|int8|INT16|INT32.|INT64.|uint8.|uint16|UINT32|UINT64|逻辑|char|细绳|结构体|表格|细胞|function_handle|分类|datetime|持续时间|日历|fi
複素数のサポート:あり

出力引数

すべて折りたたむ

コード生成のためのvの型を表す编码器。类型オブジェクト。

例:type_obj = coder.typeof((5、6));

データ型:单身的|双倍的|int8|INT16|INT32.|INT64.|uint8.|uint16|UINT32|UINT64|逻辑|char|细绳|结构体|表格|细胞|function_handle|分类|datetime|持续时间|日历|fi
複素数のサポート:あり

限制性

  • スパース行列の場合,coder.typeofは可変サイズの次元の上限を下げます。

  • GPU配列の表现で,无限付きの数码と逻辑の基本データ型サポートサポートされます。はサポートされません。

  • coder.typeofを使用してGPU配列を表す場合,GPUコード構成オブジェクトのメモリ割り当て(malloc)モードプロパティを“离散”に設定しなければなりません。

ヒント

  • 引数变量_dims.で大大さが1の次元が可サイズであるを明显的に指定してないないないないない限制coder.typeofは大きさが1の次元のサイズを固定します。

    たとえば,以下のコードでは1行:10列の双を指定します。最初の次元(大きさが1の次元)は固定サイズです。2番目の次元は可変サイズです。

    t =编码器。typeof(5,[1 10],1)
    一方,以下のコードで:1行:10列の双重をします。
    t = coder.typeof(5,[1 10],[1 1])

    メモ

    MATLAB函数ブロックでは,入力信号または出力信号の大きさが1の次元は可変サイズにできません。

  • 関数类型を使用して入力変数の型を既に指定している場合は,サイズも指定する場合を除きcoder.typeofを使用しないでください。たとえば,coder.typeof(单(0))ではなく,构文单(0)を使使し。

  • 细胞配列型の場合,coder.typeofは细胞配列型が同种または异种混合のどちらであるかを判定します。

    细胞配列要素のクラスとサイズが同じ場合,coder.typeofは同種细胞配列型を返します。

    要素のクラスが異なる場合,coder.typeofは异种结合细胞配列配列を返します。

    一部の细胞配列では,同種であるか異種混合であるかの分類はあいまいです。たとえば,{1 [2 3]} の型は、最初の要素が double で 2 番目の要素が 1 行 2 列の double の、1 行 2 列の異種混合型になります。また、この型を 1 行 3 列の同種型にして、その要素のクラスを double で、サイズを 1 行 :2 列にすることもできます。このようなあいまいなケースでは、coder.typeofCoder.CelltypemakeHomogeneousまたはmakeHeterogeneousメソッドを使用して必要な分类の型を作成します。makeHomogeneousメソッドは型の同种コピーを作物し。makeHeterogeneousメソッドは型の异种异种ををを作物

    makeHomogeneousメソッドとmakeHeterogeneousメソッドは分類を異種混合および同種として永続的に割り当てます。これらのいずれかの方法を後で使用して分類が異なるコピーを作成することはできません。

  • GPU配列型を使用したコード生成で,エントリポイント関数へのいずれかの入力がGPU配列型の場合,それらがGPUコード生成でサポートされていれば,出力変数がすべてGPU配列型になります。たとえば,エントリポイント関数が结构体をを场合,结构体はサポートされていないため,生成コードはCPU出力を返します。一方,サポートされている行列型が返される場合,生成コードはGPU出力を返します。

R2011Aで导入