介绍性示例(详见元胞数组的基本用法)演示了如何创建软件包含当前可用变量的元胞数组。然而,在许多情况下,创建一个元胞数组,然后用数据填充它是很有用的。
这个单间牢房
函数返回给定大小的元胞数组,其中包含空矩阵。此函数类似于零
用于创建新数字数组的函数。以下示例创建一个包含空矩阵的2乘2元胞数组
c=数组(2,2)⇒ c={[1,1]=[](0x0)[2,1]=]](0x0
就像数字数组一样,元胞数组也可以是多维的。这个单间牢房
函数接受任意数量的正整数来描述返回的元胞数组的大小。也可以通过正整数的向量来设置元胞数组的大小。在以下示例中,将创建两个大小相等的元胞数组,并显示第一个的大小
c1=元胞(3,4,5);c2=元胞([3,4,5]);大小(c1)⇒ ans=3 4 5
可以看出大小函数也适用于元胞数组。其他描述对象大小的函数也是如此,例如长, 呆火驼,排和柱.
C =
cell (n)
¶C =
cell (m, n)
¶C =
cell (m, n, k, …)
¶C =
cell ([m n …])
¶创建一个新的元胞数组对象。
如果使用单个标量整数参数调用,则返回一个squareNxN元胞数组。如果使用两个或多个标量整数参数或一个整数值向量调用,则返回一个具有给定维度的数组。
详见: cellstr, mat2元胞, num2数组, struct2cell.
作为创建空元胞数组然后填充它们的替代方案,可以使用num2数组
, mat2元胞
和元胞切片
函数。
C =
num2cell (A)
¶C =
num2cell (A, dim)
¶转换数字矩阵A到元胞数组。
当否dim的每个元素A成为输出中的1x1元素C.
如果dim则定义的各个元素C包含中的所有元素A沿着指定的尺寸。dim也可以是应用相同规则的维度的avector。
例如
x=[1,2;3,4]⇒ 1 2 3 4##A的每个元素变成Cnum2cell(x)的1x1元素⇒ {[1,1]=1[2,1]=3[1,2]=2[2,2]=4}#A的所有行(dim 1)出现在Cnum2数组(x,1)的每个元素中⇒ {[1,1]=1 3[1,2]=2 4}##A的所有列(dim 2)出现在Cnum2cell(x,2)的每个元素中⇒ {[1,1]=1 2[2,1]=3 4}#所有行和列都出现在C#的每个元素中(因此,只有1个输出)num2cell(x,[1,2])⇒ { [1,1] = 1 2 3 4 }
详见: mat2元胞.
C =
mat2cell (A, dim1, dim2, …, dimi, …, dimn)
¶C =
mat2cell (A, rowdim)
¶转换矩阵A到元胞数组C.
每个维度参数(dim1, dim2等)是一个元素向量,它指定如何在输出中的新元素中划分该维度的元素C。中的元素数量我-维度是大小A, 我)
。因为中的所有元素A必须分区,有一个要求总和迪米大小A,i)
。输出数组的大小C是numel(dim1)xnumel(dim2)x…x数字(dimn).
给定一维参数,rowdim,输出按指定划分为行。所有其他维度都没有划分,因此所有列(dim 2)、页(dim 3)等都出现在每个输出元素中。
示例
x=整形(1:12,[3,4])'⇒ 1 2 3 4 5 6 7 8 9 10 11 12
##4行(dim1)被划分为两个单元元件##,每个单元元件具有2行3列(dim2)被划分为三个单元元素##,每个单元元素有1列。mat2cell(x,[2,2],[1,1,1])⇒{ [1,1] = 1 4 [2,1] = 7 10 [1,2] = 2 5 [2,2] = 8 11 [1,3] = 3 6 [2,3] = 9 12}
##4行(dim1)以3/1的分割被分割成两个单元元件##所有列都显示在每个输出元素中。mat2cell(x,[3,1])⇒{ [1,1] = 1 2 3 4 5 6 7 8 9 [2,1] = 10 11 12}
版权所有 © 2024 Octave中文网
ICP备案/许可证号:黑ICP备2024030411号