Main Content

coder.resize

coder.Type オブジェクトのサイズ変更

説明

t_out = coder.resize(t,sz) では、t のサイズが sz に変更されます。

t_out = coder.resize(t,sz,variable_dims) では、(上限の) サイズ sz と可変の次元 variable_dims をもつ coder.Type t の変更されたコピーが返されます。variable_dims または sz がスカラーの場合、関数によって t のすべての次元にスカラーが適用されます。既定では、sz0 または 1 で固定の場合は、variable_dims は次元に適用されません。この既定の設定をオーバーライドして、サイズ 0 および 1 の次元を変更できるようにするには、引数 uniformtrue に設定します。関数 coder.resize はサイズが inf の次元に対する variable_dims を無視します。これらの次元は定義上可変サイズであるためです。t が型の cell 配列の場合、coder.resize は cell 配列のすべての要素のサイズを変更します。

t_out = coder.resize(t,[],variable_dims) は、t のサイズを変更せずに、variable_dims で指定された t の次元を変更できるようにします。

t_out = coder.resize(___,Name=Value) は、前述の構文の入力引数に加えて、1 つ以上の名前と値の引数を使用してサイズ変更オプションを指定します。たとえば、tt 内のすべての型のサイズを再帰的に変更するには、recursivetrue に設定します。

すべて折りたたむ

coder.typeof を使用して固定サイズ 3x3 の配列を作成します。

T = coder.typeof(ones(3,3)) 
T = 

coder.PrimitiveType
   3×3 double

T を制限のない可変サイズの配列に変更します。コード ジェネレーターでは、コロンの接頭辞 (:) を使用して可変サイズの次元を示します。

T = coder.resize(T,inf)           
T = 

coder.PrimitiveType
   :inf×:inf double

coder.typeof を使用して固定サイズ 3x3 の配列を作成します。

T = coder.typeof(ones(3,3))     
T = 

coder.PrimitiveType
   3×3 double

T を、上限が 45 である制限付きの可変サイズの配列に変更します。コード ジェネレーターでは、コロンの接頭辞 (:) を使用して可変サイズの次元を示します。

T = coder.resize(T,[4 5],true)           
T = 

coder.PrimitiveType
   :4×:5 double

coder.typeof を使用して固定サイズ 3x3x3x3 の配列を作成します。

T = coder.typeof(ones(3,3,3,3))
T = 

coder.PrimitiveType
   3×3×3×3 double

1 番目と 4 番目の次元が可変サイズで、2 番目と 3 番目の次元が固定サイズのままになるように T を変更します。コード ジェネレーターでは、コロンの接頭辞 (:) を使用して可変サイズの次元を示します。

coder.resize(T,[],[true false false true])
ans = 

coder.PrimitiveType
   :3×3×3×:3 double

2 つのフィールド (3x3 の配列である f14x4 の配列である f2) を含む 1x1struct を作成します。

T = coder.typeof(struct('f1',zeros(3,3),'f2',ones(4,4))) 
T = 

coder.StructType
   1×1 struct
      f1: 3×3 double
      f2: 4×4 double

TT のすべてのフィールドを 5x5 の配列に再帰的に変更します。

coder.resize(T,[5,5],recursive=true))   
ans = 

coder.StructType
   5×5 struct
      a: 5×5 double
      b: 5×5 double

uniform=true オプションを使用すると、既定で固定されているサイズ 0 または 1 の次元を可変サイズとして扱うようにコード ジェネレーターに強制できます。

coder.typeof を使用して固定サイズ 3x1x4 の配列を作成し、すべての次元のサイズを変更できるようにするようにコード ジェネレーターに強制します。コード ジェネレーターでは、コロンの接頭辞 (:) を使用して可変サイズの次元を示します。

T = coder.typeof(ones(3,1,4));
T = coder.resize(T,[],true,uniform=true)
T = 

coder.PrimitiveType
   :3×:1×:4 double

sizelimits=[min max] オプションを使用して、配列の次元の上限を設定します。

coder.typeof を使用して固定サイズ 5x10x20 の配列を作成します。

T = coder.typeof(ones(5,10,20))
T = 

coder.PrimitiveType
   5×10×20 double

sizelimits の最小値を 7 に設定し、最大値を 15 に設定して、T のサイズを変更します。coder.resize は、サイズが 7 未満の次元を変更せず、サイズが 7 から 15 までの次元を制限のある可変サイズに設定し、サイズが 15 を超える次元を制限なしに設定します。コード ジェネレーターでは、コロンの接頭辞 (:) を使用して可変サイズの次元を示します。

T = coder.resize(T,[],sizelimits=[7,15])
T = 

coder.PrimitiveType
   5×:10×:inf double

入力引数

すべて折りたたむ

サイズ変更するオブジェクト。coder.Type オブジェクトとして指定します。tcoder.CellType オブジェクトの場合、coder.CellType オブジェクトは同種でなければなりません。

例: coder.resize(T,inf);

データ型: coder.CellType | coder.ClassType | coder.Constant | coder.EnumType | coder.FiType | coder.OutputType | coder.PrimitiveType | coder.StructType

coder.Type オブジェクトの新しいサイズ。スカラー整数または整数の行ベクトルとして指定します。

例: coder.resize(T,[3,4]);

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

coder.Type オブジェクトの可変の次元。スカラーの logical または logical 値の行ベクトルとして指定します。variable_dims がスカラーの場合、variable_dimscoder.Type オブジェクトのすべての次元に適用されます。

例: coder.resize(T,[4,5],[true false]);

データ型: logical

名前と値の引数

引数のオプションのペアを Name1=Value1,...,NameN=ValueN として指定します。Name は引数名、Value は対応する値です。名前と値の引数は他の引数の後に表示されなければなりませんが、ペアの順序は重要ではありません。

例: coder.resize(T,[5,5],recursive=true)

coder.Type オブジェクトとそれに含まれるすべての型のサイズを再帰的に変更します。false または true として指定します。

データ型: logical

coder.Type オブジェクトのすべての次元に対して可変サイズを強制するかどうか。false または true として指定します。uniformtrue に設定しなかった場合、variable_dimstrue に設定されていても、サイズ 01 の次元は固定サイズのままになります。ただし、variable_dims を非スカラーの logical ベクトルとして指定した場合、uniform の設定は無効です。

例: coder.resize(T,[1,7],true,uniform=true)

データ型: logical

coder.Type オブジェクトの最小次元と最大次元。2 つ以下の整数値の行ベクトルとして指定します。

  • sizelimits に 2 つの要素がある場合、これらの値は [min max] に対応します。ここで、maxmin 以上である必要があります。

  • sizelimits に要素が 1 つある場合、minmax は両方ともその値に設定されます。

サイズ scoder.Type オブジェクトの各次元について、以下のようになります。

  • smax 以上の場合、コード ジェネレーターは次元を制限なしの可変サイズ (:inf) に変更します。

  • smin 以上で max 未満の場合、コード ジェネレーターは次元を、上限が s (:s) の可変サイズに変更します。

  • smin より小さい場合、コード ジェネレーターは次元を変更しません。

例: coder.resize(T,[],sizelimits=[5,20])

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

出力引数

すべて折りたたむ

サイズ変更された coder.Type オブジェクト

データ型: coder.CellType | coder.ClassType | coder.Constant | coder.EnumType | coder.FiType | coder.OutputType | coder.PrimitiveType | coder.StructType

制限

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

バージョン履歴

R2011a で導入