Matlab中cell函数⽤法
⽬录
cell函数元胞数组
说明
元胞数组是⼀种包含名为元胞的索引数据容器的数据类型,其中的每个元胞都可以包含任意类型的数据。元胞数组通常包含⽂本列表、⽂本和数字的组合或者不同⼤⼩的数值数组。通过将索引括在圆括号 () 中可以引⽤元胞集。使⽤花括号 {} 进⾏索引来访问元胞的内容。
创建对象
当要将数据放⼊⼀个元胞数组中时,请使⽤元胞数组构造运算符{}创建该数组。
C = {1,2,3;
'text',rand(5,10,2),{11; 22; 33}}
C=2×3 cell
{[ 1]} {[ 2]} {[ 3]}
{'text'} {5x10x2 double} {3x1 cell}
也可以使⽤{}创建⼀个空的0×0元胞数组。
C = {}
C =
0x0 empty cell array
要创建具有指定⼤⼩的元胞数组,请使⽤下⾯介绍的cell函数。可以使⽤cell预分配⼀个元胞数组,稍后再为其分配数据。cell还可以将某些类型的 Java®、.NET 和 Python® 数据结构体转换为由等效的 MATLAB® 对象组成的元胞数组。
语法
C = cell(n)
C = cell(sz1,...,szN)
C = cell(sz)
D = cell(obj)
⽅形元胞数组的⼤⼩,指定为整数值
如果n为 0,则 C 为⼀个空的元胞数组。
如果n为负数,则将其视为0。
元胞数组的维度⼤⼩,指定为整数值
如果任何维度的⼤⼩为0,则C为空的元胞数组。
如果任何维度的⼤⼩为负值,则其将被视为0。
对于第⼆个维度以上的维度,cell忽略⼤⼩为1的尾部维度。例如,cell(3,1,1,1) ⽣成由空矩阵组成的3×1元胞数组。
⼤⼩,指定为由整数组成的⾏向量。sz 的每个元素指⽰对应维度的⼤⼩
如果任何维度的⼤⼩为 0,则 C 为空的元胞数组。
如果任何维度的⼤⼩为负值,则其将被视为 0。
对于第⼆个维度以上的维度,cell 忽略⼤⼩为 1 的尾部维度。例如,cell([3 1 1 1]) ⽣成由空矩阵组成的 3×1 元胞数组。
⽰例matlab数组赋值
创建元胞数组
当相关的数据段具有不同的数据类型时,可将它们放在⼀个元胞数组中。每个元胞包含⼀段数据。要引⽤元胞数组的元素,请使⽤数组索引。可以使⽤圆括号()对元胞数组进⾏索引,使⽤花括号{}对元胞的内容进⾏索引。
创建⼀个元胞数组,其中包含在给定⽇期测得的⼏个温度读数。将⽇期指定为字符向量,将温度指定为双精度数组。要将这些数据段存储在元胞数组中,请将它们放在花括号中。
C = {'2017-08-16',[56 67 78]}
C=1×2 cell
{'2017-08-16'} {1x3 double}
将不同⽇期的读数添加到元胞数组中。要添加更多元胞,可以通过赋值来扩展元胞数组,就像扩展普通数组⼀样。
C(2,:) = {'2017-08-17',[58 69 79]};
C(3,:) = {'2017-08-18',[60 68 81]}
C=3×2 cell
{'2017-08-16'} {1x3 double}
{'2017-08-17'} {1x3 double}
{'2017-08-18'} {1x3 double}
对C的第⼀⾏进⾏索引。当使⽤圆括号 () 进⾏索引时,将得到⼀个作为该元胞数组⼦集的元胞数组。
C(1,:)
ans=1×2 cell
{'2017-08-16'} {1x3 double}
对元胞的内容进⾏索引。当使⽤花括号{}进⾏索引时,将得到指定元胞中包含的数据段。
ans = 1×3
56 67 78
⽅形元胞数组
创建⼀个由空矩阵构成的 3×3 元胞数组。
C = cell(3)
C=3×3 cell
{0x0 double} {0x0 double} {0x0 double}
{0x0 double} {0x0 double} {0x0 double}
{0x0 double} {0x0 double} {0x0 double}
⽅形元胞数组
创建⼀个由空矩阵构成的 3×3 元胞数组。
C = cell(3)
C=3×3 cell
{0x0 double} {0x0 double} {0x0 double}
{0x0 double} {0x0 double} {0x0 double}
{0x0 double} {0x0 double} {0x0 double}
三维元胞数组
创建⼀个由空矩阵构成的3×4×2元胞数组。
C = cell(3,4,2);
size(C)
ans = 1×3
3 4 2
根据现有数组克隆⼤⼩
创建由⼤⼩与现有数组相同的空矩阵组成的元胞数组。
A = [7 9; 2 1; 8 3];
sz = size(A);
C = cell(sz)
C=3×2 cell
{0x0 double} {0x0 double}
{0x0 double} {0x0 double}
{0x0 double} {0x0 double}
通常可以将前两⾏代码合并成⼀⾏:
C = cell(size(A));
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论