MATLAB中cell(元胞)数组的基本用法

您所在的位置:网站首页 cellfun函数怎么用 MATLAB中cell(元胞)数组的基本用法

MATLAB中cell(元胞)数组的基本用法

2023-08-18 08:09| 来源: 网络整理| 查看: 265

说明

元胞数组是一种包含名为元胞的索引数据容器的数据类型,其中的每个元胞都可以包含任意类型的数据。元胞数组通常包含文本列表、文本和数字的组合或者不同大小的数值数组。

创建对象

1、我们可以使用元胞数组构造运算符 {} 创建该数组,例如:

% 使用元胞数组构造运算符{}创建数组 C = {1,2,3; 'text',rand(5,10,2),{11; 22; 33}} C = 2x3 cell array {[ 1]} {[ 2]} {[ 3]} {'text'} {5x10x2 double} {3x1 cell}

2、还可以使用cell 预分配一个元胞数组,稍后再为其分配数据,例如:

% 使用cell函数预分配一个数组 C =cell(3); C = 3x3 cell array {0x0 double} {0x0 double} {0x0 double} {0x0 double} {0x0 double} {0x0 double} {0x0 double} {0x0 double} {0x0 double}

其中,cell函数不仅可以预分配一个元胞数组,还可以可将 Java 数组、.NET System.String 或 System.Object 数组或者 Python 序列转换为 MATLAB 元胞数组。

元胞数组的访问

我们所创建的元胞数组是一系列元胞数据类型的集合,我们通过将索引括在圆括号 () 中可以引用元胞集,使用花括号 {} 进行索引来访问元胞的内容,例如:

C = {'2017-08-16',[56 67 78]}; C(1,:) ans = 1x2 cell array {'2017-08-16'} {1x3 double} C{1,2} ans = 1×3 56 67 78 相关函数 cell2mat :将元胞数组转换成普通的数组 cell2table :将元胞数组转换成table类型 cell2struct:将元胞数组转换成结构体数组 cellstr:将元胞数组转换成字符向量 iscell:判断输入是否是元胞数组

更多内容详见:https://www.mathworks.com/help/matlab/cell-arrays.html.

重点函数 c e l l f u n cellfun cellfun 用法 cellfun:将函数作用于数组中的每一个元胞 A = cellfun(func,C),将函数func作用到C中的每一个元胞中, 一次作用于一个元胞,相当于A(i) = func(C{i})。 示例 C = {1:10, [2; 4; 6], []}; %计算每个元胞的均值 A = cellfun(@mean,C) A = 1×3 5.5000 4.0000 NaN %删除空的元胞数组 A(cellfun(@isempty,A))=[] A=1×2 cell {1x10 double} {3x1 double}

更多示例详见:https://www.mathworks.com/help/matlab/ref/cellfun.html.



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3