mat2cell
配列の、cell 内にサブ配列を含む cell 配列への変換
説明
例
配列を分割しサブ配列を cell 配列で返す
5 行 4 列の数値配列を作成します。
A = reshape(1:20,5,4)'
A = 4×5
1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
16 17 18 19 20
A
を 2 行 3 列の 2 つのサブ配列と 2 行 2 列の 2 つのサブ配列に分割します。このサブ配列を cell 配列で返します。
C = mat2cell(A,[2 2],[3 2])
C=2×2 cell array
{2x3 double} {2x2 double}
{2x3 double} {2x2 double}
関数 celldisp
を使用して、C
のサブ配列を表示します。
celldisp(C)
C{1,1} = 1 2 3 6 7 8 C{2,1} = 11 12 13 16 17 18 C{1,2} = 4 5 9 10 C{2,2} = 14 15 19 20
配列を行単位で分割
配列を作成します。
A = reshape(1:20,5,4)'
A = 4×5
1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
16 17 18 19 20
A
の行を分割し、cell 配列に 2 つのサブ配列が含まれるようにします。rowDist
の最初の要素が 1
なので、C
の最初の cell には A
の 1 行目が含まれます。rowDist
の 2 番目の要素は 3
なので、C
の次の cell には A
の次の 3 行が含まれます。rowDist
の要素の合計は、A
の行数と等しくなります。
rowDist = [1 3]; C = mat2cell(A,rowDist)
C=2×1 cell array
{[1 2 3 4 5]}
{3x5 double }
サブ配列を表示します。
celldisp(C)
C{1} = 1 2 3 4 5 C{2} = 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
入力引数
A
— 入力配列
配列
入力配列。
dim1Dist,...,dimNDist
— 入力配列要素の分散
数値ベクトル
各次元に沿った入力配列要素の分散を表すベクトル。数値ベクトルとして指定します。
たとえば、A
が 60 行 50 列の配列である場合、この引数を [10 20 30],[25 25]
と指定すると、A
を次のコードと図で示すとおりに分割できます。C
は、A
から分割された 6 つのサブ配列を含む cell 配列です。
C = mat2cell(A,[10 20 30],[25 25])
A
の K
番目の次元について、対応するベクトル dimKDist
の要素を指定し、sum(dimKDist)
が K
番目の次元のサイズと等しくなるようにします。
A
の K
番目の次元のサイズが 0 の場合、対応するベクトル dimKDist
を以下のコードのように空の配列 []
として指定します。
A = rand(3,0,4); C = mat2cell(A,[1 2],[],[2 1 1]);
rowDist
— 行単位の分散
数値ベクトル
入力配列の行単位の分散を表すベクトル。数値ベクトルとして指定します。A
を他の次元に沿って分割する方法を指定しない場合、関数 mat2cell
は n
行 1 列の cell 配列 C
を返します。ここで、n
は rowDist
の要素数と等しくなります。
rowDist
の各要素は、C
の対応する cell にあるサブ配列の行数を指定します。rowDist
の要素の合計は、A
の行数と等しくなければなりません。
拡張機能
スレッドベースの環境
MATLAB® の backgroundPool
を使用してバックグラウンドでコードを実行するか、Parallel Computing Toolbox™ の ThreadPool
を使用してコードを高速化します。
この関数はスレッドベースの環境を完全にサポートしています。詳細については、スレッドベースの環境での MATLAB 関数の実行を参照してください。
バージョン履歴
R2006a より前に導入
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)