cell2mat
将元胞数组转换为普通数组
说明
示例
将一个元胞数组的四个元胞中的数值数组转换为一个数值数组。
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
将元胞数组中的结构体转换为一个结构体数组。这些结构体必须包含相同的字段。
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) 的第二个字段。
d(2).b
ans = 'Morning'
自 R2025a 起
将包含不同数据类型的元胞数组转换为普通数组。
创建一个包含 single 和 double 值的元胞数组。
a = single([1 2 3]);
b = double([2 4 6]);
C = {a;b}C =
2×1 cell array
{[1 2 3]}
{[2 4 6]}将该元胞数组转换为一个数值数组。生成的数组为 single。
D = cell2mat(C)
D =
2×3 single matrix
1 2 3
2 4 6输入参数
输入元胞数组。如果元胞的内容都具有相同的数据类型,则生成的数组具有该数据类型。如果元胞包含结构体且这些结构体具有相同的字段名称,则函数可以串联这些元胞。
如果 MATLAB® 可以将某些不同的数据类型转换为一种输出类型,则元胞可以具有这些不同的数据类型。有关基本数据类型组合及其生成的类型的示例,请参阅不同类的有效合并。
cell2mat 也接受包含基于类的对象的元胞数组。有关如何组合基于类的对象的信息,请参阅Concatenating Objects of Different Classes。
cell2mat 不接受 C 中的嵌套元胞。
扩展功能
用法说明和限制:
对于包含稀疏数组的无界或可变大小元胞数组,
cell2mat不支持代码生成。使用
cell2mat函数生成代码时,不支持维度大于 2 的无界或可变大小元胞数组输入中存在数组或结构体。对于运行时空元胞输入,
cell2mat返回相同数据类型的空元胞。对于编译时空元胞输入,cell2mat返回类型为double的空元胞。
此函数完全支持基于线程的环境。有关详细信息,请参阅在基于线程的环境中运行 MATLAB 函数。
cell2mat 函数完全支持包含 gpuArray (Parallel Computing Toolbox) 对象的元胞数组。有关详细信息,请参阅在 GPU 上运行 MATLAB 函数 (Parallel Computing Toolbox)。
此函数完全支持分布式数组。有关详细信息,请参阅使用分布式数组运行 MATLAB 函数 (Parallel Computing Toolbox)。
版本历史记录
在 R2006a 之前推出在 R2025a 之前,cell2mat 接受数值、逻辑值和字符类型,以及具有相同字段名称的结构体。输入数组的所有元胞必须具有相同的数据类型。
cell2mat 现在可以接受包含其他数据类型的元胞数组,包括字符串、分类、gpuArray 对象和基于类的对象。
如果 MATLAB 可以将某些不同的数据类型转换为一种输出类型,则该函数还可以转换包含这些不同数据类型的元胞数组。有关基本数据类型组合及其生成的类型的示例,请参阅不同类的有效合并。
如果元胞数组包含不同类的基于类的对象,MATLAB 会尝试串联它们。有关详细信息,请参阅Concatenating Objects of Different Classes。
另请参阅
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.
选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 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)
