cell2mat
cell 配列から通常の配列への変換
説明
例
数値配列が格納された 4 つのセルからなる cell 配列を 1 つの数値配列に変換します。
C = {[1], [2 3 4]; [5; 9], [6 7 8; 10 11 12]}
C=2×2 cell array
{[ 1]} {[ 2 3 4]}
{2×1 double} {2×3 double}
A = cell2mat(C)
A = 3×4
1 2 3 4
5 6 7 8
9 10 11 12
構造体が格納された cell 配列を 1 つの構造体配列に変換します。構造体のフィールドは同じでなければなりません。
s1.a = [1 2 3 4]; s1.b = 'Good'; s2.a = [5 6; 7 8]; s2.b = 'Morning'; c = {s1,s2}; d = cell2mat(c)
d=1×2 struct array with fields:
a
b
構造体 d(1)
の最初のフィールドを表示します。
d(1).a
ans = 1×4
1 2 3 4
d(2)
の 2 番目のフィールドを表示します。
d(2).b
ans = 'Morning'
R2025a 以降
異なるデータ型を含む cell 配列を通常の配列に変換します。
single
と double
の値を含む cell 配列を作成します。
a = single([1 2 3]); b = double([2 4 6]); C = {a;b}
C = 2×1 cell array {[1 2 3]} {[2 4 6]}
cell 配列を数値配列に変換します。結果の配列は single
です。
D = cell2mat(C)
D = 2×3 single matrix 1 2 3 2 4 6
入力引数
入力 cell 配列。セルの内容は、すべて同じデータ型でなければならず、結果の配列はそのデータ型になります。関数は、構造体が格納されたセルについて、それらの構造体が同じ名前のフィールドをもっていればセルを連結できます。
セルのデータ型は、MATLAB® で 1 つの出力タイプに変換できるデータ型であれば、それぞれで異なっていてもかまいません。基本的なデータ型の組み合わせとその結果の型を示す例については、異なるクラスの有効な組み合わせを参照してください。
cell2mat
は、クラスベース オブジェクトを含む cell 配列も受け入れます。クラスベース オブジェクトを結合する方法の詳細については、異なるクラスのオブジェクトの連結を参照してください。
cell2mat
は、C
の中で入れ子にされたセルは受け入れません。
拡張機能
cell2mat
関数は tall 配列をサポートしていますが、以下の使用上の注意および制限があります。
入力 cell 配列のセルのデータ型は、数値、logical、または文字でなければなりません。
詳細については、tall 配列を参照してください。
使用上の注意および制限:
スパース配列を含む非有界または可変サイズの cell 配列では、
cell2mat
はコード生成でサポートされていません。次元が 2 より大きい、非有界または可変サイズの cell 配列の入力に含まれる配列または構造体は、関数
cell2mat
によるコード生成でサポートされていません。実行時に空の cell を入力すると、
cell2mat
は同じデータ型の空の cell を返します。コンパイル時に空の cell を入力すると、cell2mat
はdouble
型の空の cell を返します。
この関数はスレッドベースの環境を完全にサポートしています。詳細については、スレッドベースの環境での MATLAB 関数の実行を参照してください。
cell2mat
関数は gpuArray
(Parallel Computing Toolbox) オブジェクトを含む cell 配列を完全にサポートしています。詳細については、GPU での MATLAB 関数の実行 (Parallel Computing Toolbox)を参照してください。
この関数は分散配列を完全にサポートしています。詳細については、分散配列を使用した MATLAB 関数の実行 (Parallel Computing Toolbox)を参照してください。
バージョン履歴
R2006a より前に導入R2025a より前は、数値型、logical 型、文字型、および同じ名前のフィールドをもつ構造体が cell2mat
で受け入れられていました。入力配列のセルは、すべて同じデータ型でなければなりませんでした。
string、categorical、gpuArray
オブジェクト、クラスベース オブジェクトなど、追加のデータ型を含む cell 配列が cell2mat
で受け入れられるようになりました。
関数は、MATLAB で 1 つの出力タイプに変換できるデータ型であれば、異なるデータ型を含む cell 配列も変換できます。基本的なデータ型の組み合わせとその結果の型を示す例については、異なるクラスの有効な組み合わせを参照してください。
異なるクラスのクラスベース オブジェクトが cell 配列に含まれている場合、MATLAB はそれらのオブジェクトの連結を試みます。詳細については、異なるクラスのオブジェクトの連結を参照してください。
参考
mat2cell
| num2cell
| cell
| cell2table
| cell2struct
| struct2cell
| table2cell
| iscell
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- 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)