Matlab中cell函数用法

Matlab中cell函数用法目录 说明 创建对象 语法 说明 示例 创建元胞数组 方形元胞数组 方形元胞数组 三维元胞数组 根据现有数组克隆大小 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)

说明

  • C = cell(n) 返回由空矩阵构成的 n×n 元胞数组。
  • C = cell(sz1,...szN) 返回由空矩阵构成的 sz1×...×szN 元胞数组,其中,sz1,...,szN 表示每个维度的大小。例如,cell(2,3) 返回一个 2×3 元胞数组。
  • C = cell(sz) 返回由空矩阵构成的元胞数组,并由大小向量 sz 来定义数组大小size(C)。例如,cell([2 3]) 会返回一个 2×3 元胞数组。
  • D = cell(obj) 可将 Java 数组、.NET System.String 或 System.Object 数组或者 Python 序列转换为 MATLAB 元胞数组。

方形元胞数组的大小,指定为整数值

  • 如果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 元胞数组。

示例

创建元胞数组

        当相关的数据段具有不同的数据类型时,可将它们放在一个元胞数组中。每个元胞包含一段数据。要引用元胞数组的元素,请使用数组索引。可以使用圆括号()对元胞数组进行索引,使用花括号{}对元胞的内容进行索引

        创建一个元胞数组,其中包含在给定日期测得的几个温度读数。将日期指定为字符向量,将温度指定为双精度数组。要将这些数据段存储在元胞数组中,请将它们放在花括号中。

讯享网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}

        对元胞的内容进行索引。当使用花括号{}进行索引时,将得到指定元胞中包含的数据段。

C{1,2} 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));

提示

  • 使用cell函数创建一个由空矩阵组成的元胞数组,等同于将一个空矩阵赋给新建元胞数组的最后一个索引。例如,以下两个语句是等效的:
C = cell(3,4,2); C{3,4,2} = [];

小讯
上一篇 2025-02-17 17:20
下一篇 2025-01-27 08:09

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/29231.html