【matlab学习】cell相关用法

matlab中的cell类型也叫作细胞型数据结构(cell),可以使不同类型和不同维数的数组可以共存,细胞型数组实际上可以认为是一种以任意形式的数组为分量的多维数组。

可以与C语言中的struct类型类比。

常用语法:

C = cell ( dim );  建立一个空的cell矩阵,如果dim是一个数,那么矩阵便是dim * dim 的;如果dim是一个向量,那么矩阵的维度是dim(1)*dim(2)*...*dim(n)。

C = cell (dim1,dim2,...dimN); 创建一个维度为dim1 * dim2 * ... *dimN的cell矩阵。

D = cell (obj); obj包含各种各样的实体类型,诸如字符串“hello”,结构struct,cell本身。。。


举个栗子:

首先创建一个空的M*N的cell数组:

C = cell(M, N); 或

C{M,N} = [];


C{ i, j }可表示第i 行第 j 列的元胞

如果想要访问元胞中的矩阵,C{3,4}(2,1)即表示第三行第四列中元胞中的矩阵的第二行第一列的元素。

总的来说,{}用来引用cell单元,()用来引用cell中的具体数据。

此外元包还有自己的可视化工具,celldisp()和cellplot()分别用作显示元包的内容和画出元包。

MATLAB 中,cellcell array)是一种特殊的数组类型,可以存储不同类型的数据,例如字符串、数值、逻辑、结构体等等,甚至可以存储其他的 cell 数组。下面是一些 cell用法示例: ### 创建 cell 数组 可以使用花括号 `{}` 来创建 cell 数组,例如: ```matlab % 创建一个 1 行 3 列的 cell 数组,分别存储数字、字符串和逻辑值 c1 = {42, 'hello', true}; % 创建一个 2 行 2 列的 cell 数组,分别存储两个数值矩阵 c2 = {magic(3), ones(2, 2)}; ``` ### 访问 cell 数组元素 可以使用花括号 `{}` 或括号 `()` 访问 cell 数组的元素,例如: ```matlab % 访问第一个 cell 数组的第二个元素 c1{2} % 访问第二个 cell 数组的第一个元素的第二行第三列 c2{1}(2, 3) ``` ### 拼接 cell 数组 可以使用花括号 `{}` 和括号 `()` 来拼接 cell 数组,例如: ```matlab % 拼接两个行向量为一个行向量的 cell 数组 c3 = {1, 2, 3}; c4 = {4, 5, 6}; c5 = [c3, c4]; % 拼接两个列向量为一个列向量的 cell 数组 c6 = {1; 2; 3}; c7 = {4; 5; 6}; c8 = [c6; c7]; ``` ### 遍历 cell 数组 可以使用 `for` 循环遍历 cell 数组的每个元素,例如: ```matlab % 遍历一个 cell 数组,输出每个元素的类型和值 c9 = {42, 'hello', true}; for i = 1:length(c9) fprintf('元素 %d 是 %s 类型,值为 %s\n', i, class(c9{i}), num2str(c9{i})); end ``` 上述示例代码中,我们使用 `class()` 函数获取每个元素的类型,并使用 `num2str()` 函数将每个元素转换为字符串。注意在遍历 cell 数组时,需要使用括号 `()` 而不是花括号 `{}` 来访问元素。 这些是 cell 数组的一些常见用法,希望能对您有所帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值