Main Content

makeHomogeneous

クラス: coder.CellType
名前空間: coder

cell 配列型の同種コピーの作成

構文

newt = makeHomogeneous(t)
t = makeHomogeneous(t)

説明

newt = makeHomogeneous(t) は、coder.CellType オブジェクト t から同種 cell 配列 newtcoder.CellType オブジェクトを作成します。

newt を作成するには、makeHomogeneous メソッドで t のすべての要素を表すサイズとクラスを判別しなければなりません。

  • t の要素のクラスが同じでサイズが異なる場合、newt の要素は可変サイズになり、t の要素に対応した上限になります。

  • t の要素に chardouble などの異なるクラスがある場合、makeHomogeneous メソッドは同種 cell 配列に coder.CellType オブジェクトを作成できません。

同種としての分類は永続的です。後で newt から異種混合の coder.CellType オブジェクトを作成することはできません。

t = makeHomogeneous(t) は、t から同種の coder.CellType オブジェクトを作成し、t を新しいオブジェクトで置き換えます。

すべて展開する

クラスが同じでサイズが異なる要素をもつ cell 配列型 t を作成します。

t = coder.typeof({1 [2 3]})
t = 

coder.CellType
   1x2 heterogeneous cell 
      f0: 1x1 double
      f1: 1x2 double

cell 配列型は異種混合になります。

t を同種 cell 配列の cell 配列型で置き換えます。

t = makeHomogeneous(t)
t = 

coder.CellType
   1×2 locked homogeneous cell 
      base: 1×:2 double

新しい cell 配列型は同種になります。

ヒント

  • coder.CellType オブジェクトの表示では、用語 locked heterogeneous または locked homogeneous は、同種または異種混合としての分類が永続的であることを示しています。makeHomogeneous メソッドまたは makeHeterogeneous メソッドを使用して、分類を後で変更することはできません。

  • coder.typeof は cell 配列型が同種または異種混合のどちらであるかを判定します。cell 配列要素のクラスとサイズが同じ場合、coder.typeof は同種 cell 配列型を返します。要素のクラスが異なる場合、coder.typeof は異種混合 cell 配列型を返します。一部の cell 配列では、同種であるか異種混合であるかの分類はあいまいです。たとえば、{1 [2 3]} の型に 1 行 2 列の異種混合型を使用できます。最初の要素は double で 2 番目の要素は 1 行 2 列の double です。また、この型を 1 行 3 列の同種型にして、その要素のクラスを double で、サイズを 1 行 :2 列にすることもできます。このようなあいまいなケースでは、coder.typeof はヒューリスティックな方法を使用して型を同種または異種混合として分類します。異なる分類が必要な場合は、makeHomogeneous メソッドまたは makeHeterogeneous メソッドを使用します。

バージョン履歴

R2015b で導入