matlab 单元数组输入,Matlab 单元数组

## 介绍

Matlab中有一种特殊的数组,称为**单元数组**(Cell arrays)。单元数组的元素是其他数组的一份拷贝,这意味着单元数组可以包含许多拥有不同数据类型元素的数组。

## 创建单元数组

### 使用cell()

可以使用`cell()`函数创建空的单元数组:

![](https://leanote.com/api/file/getImage?fileId=58148ff4ab644162e1003339)

### 使用花括号

然而通常的创建方法是使用花括号`{}`来创建单元数组,被花括号包含着的是其它将被拷贝的数组:

![](https://leanote.com/api/file/getImage?fileId=58148ff4ab644162e1003338)

上面的`sum(A)`生成一个1x4的矩阵,每一个元素是A的一列元素之和;`prod(A)`对矩阵A的每一列求乘积,然后将这些乘积组合成1x4的矩阵。

我们注意到第三个单元的内容被直接显示出来了,而不是显示"[1x1 double]"这样的东西。这是因为前两个单元太大,导致Matlab仅对内容较少的单元直接输出。

### 从其他数组生成

Matlab提供了一些函数,这些函数能够将其他数组转化为单元数组,如`cellstr()`函数:

![](https://leanote.com/api/file/getImage?fileId=58149988ab644162e10033ea)

由于数组的每一行的长度都是相同的,因此像上图中展示的,不能直接创建拥有不同长度行的文本。借此我们可以使用`char()`函数,但使用单元数组可能是一个更好的选择,因为使用`char()`生成的数组是对空缺的位置进行了填补,这可能浪费大量空间。

## 获取单元

由于单元数组也是数组,因此我们可以使用下标来索引这些单元:

![](https://leanote.com/api/file/getImage?fileId=58149338ab644164d4003166)

如果想要查看这些单元的内容,要使用花括号:

![](https://leanote.com/api/file/getImage?fileId=58149338ab644164d4003167)

单元数组可以存储大小不同的矩阵,而三维数组只能存储大小相同的矩阵。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值