Matlab中的元胞数组

Matlab中的元胞数组

元胞数组其实广义来说我们可以把它看成一个矩阵,里面鱼龙混杂,啥数据类型都可以有,元胞里面有个胞字,且英文是cell,就是细胞的意思,我们就可以联想到细胞来帮助我们理解,细胞里面有细胞质,细胞核等等,同时一个元胞数组里面也可以有不同数据类型的数据类型,下面我们来举例子来帮助我们对元胞数组的理解:
%创建方法一: 利用 ‘{}’ 来创建

>> cell1={'helloworld',23;[1,2;3,4],2:30}

cell1 = 

    'helloworld'    [         23]
    [2x2 double]    [1x29 double]

%创建方法二 外面是一个[],里面的每一个元素都用{}括起来

>> cell2=[{'helloworld'},{23};{[1,2;3,4]},{2:30}]

cell2 = 

    'helloworld'    [         23]
    [2x2 double]    [1x29 double]

%创建方式三 创建的时候随意定义里面的元素,如果说维度大于初始定义的维度,那么没有定义到的元素都是[]

>> cell3={90}

cell3 = 

    [90]

>> cell3(3,5)={80};%再往元胞数组放数据的时候需要加上“{}”
>> cell3

cell3 = 

    [90]    []    []    []      []
      []    []    []    []      []
      []    []    []    []    [80]

%创建方式四 创建空的元胞数组,他的作用是为数组预先分配储存空间,节约内存的占用,提高执行的效率
具体内容如下:

>> a=cell(1,2)

a = 

    []    []

>> b=cell(3,3)

b = 

    []    []    []
    []    []    []
    []    []    []

a,b就是这些个元胞数组的名字和上面的cell1,cell2,cell3一样

2.上面我们已经会创建一个元胞数组了,下面我们来试着对其进行调用
1,我们在调用的时候有两种很重要的调用方式。我们先来简单创建一个元胞数组:

a={1:10,'string';zeros(1,2),ones(1,2)}

a = 

    [1x10 double]    'string'    
    [1x2  double]    [1x2 double]

然后我们来看下面的两种结果:

>> var1=a(1,2)

var1 = 

    'string'

>> class(var1)

ans =

cell

%上面的一段代码用的是(),他的数据类型是cell型的,指的是指定的元胞

>> var2=a{1,2}

var2 =

string

>> class(var2)

ans =

char

%这一段代码用的是{},其赋给变量var2,而其类型就是这个元胞数组里面真实的内容的数据类型
3.如何对元胞数组里面的数据进行删除操作呢?
其实很简单,我们现在已经会了对元素的调用,我们想删除那个元素就把他调出来,然后让他={[]}即可,下面举个小例子:

>> a={1,2,3;4,5,6;7,8,9}

a = 

    [1]    [2]    [3]
    [4]    [5]    [6]
    [7]    [8]    [9]

>> a(5,5)={20}

a = 

    [1]    [2]    [3]    []      []
    [4]    [5]    [6]    []      []
    [7]    [8]    [9]    []      []
     []     []     []    []      []
     []     []     []    []    [20]
>> a(2,2)={[]}

a = 

    [1]    [2]    [3]    []      []
    [4]     []    [6]    []      []
    [7]    [8]    [9]    []      []
     []     []     []    []      []
     []     []     []    []    [20]

今天元胞数组的基本的内容已经讲完了,不足之处望指正。

  • 6
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

澄渝

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值