永发信息网

matlab 中 结构体和单元的区别

答案:1  悬赏:10  手机版
解决时间 2021-04-13 06:45
  • 提问者网友:咪咪
  • 2021-04-12 16:32
matlab 中 结构体和单元的区别
最佳答案
  • 五星知识达人网友:西风乍起
  • 2021-04-12 16:40
1、什么是单元阵列?

单元阵列又叫cell(元胞)阵列,以前见过“元胞数组”一词,其实是可以理解成阵列的,比如二维数组,可以理解成2行n列的矩阵或阵列。

2、单元/元胞阵列是如何构成的呢?

我们都熟悉阵列或矩阵的构成,比如一个m*n大小的矩阵,那么它有m行、n列,共有m*n个元素。如果我们只在实数范围内考虑,那么对应的每一个元素就是一个实数,这是一般的实矩阵。单元阵列也可以有m行n列,对应有m*n个元素。所不同的是单元阵列中每个元素是一个cell(元胞),而每个cell可以由不同数据格式的矩阵构成,构成每个cell的矩阵大小也可以不同,可以是一个元素,也可以是一个向量,也可以是一个多维数组。

3、如何创建一个单元阵列?

可使用cell函数创建一个空的单元阵列,具体可参考MATLAB中 help cell内容。也可以使用大括号创建,比如我们要创建一个1x3的单元阵列c,则c={A sum(A) prod(prod(A))},可以把A设为一个向量,具体各cell数据类型读者可以用c{1}/c{2}/c{3}读出来然后使用whos函数自己验证。其中prod是求积,若A为一个数组(或一维向量),则一个prod后即可求出所有元素之积,第二个prod则还为原结果。若A为一个矩阵,则第一个prod后针对各列求积,结果保留为一个数组,第二个prod则对该数组所有元素再求积,那么两个prod的结果即为对矩阵所有元素求积。

4、什么是结构体及其构成?

结构体可以理解为一种特殊的数据类型。一个结构体有若干结构变量或者域构成。每个结构变量/域类似于一个cell,结构变量可以由不同数据类型的数组构成,比如字符串、整型、浮点数……。此处只是可以借用cell的形式来理解结构变量,但二者绝不等同。

5、如何创建结构体?

可以使用struct函数创建结构体。我们定义结构体为str_array,

则str_array=struct('field1',val1,'field2',val2,……),其中field1、field2为域名,val1、val2为具体值。

6、单元阵列与结构体的不同之处。

结构体(也可称为结构体阵列)中可以使用域名来访问数据,而在单元阵列中则使用矩阵的索引操作。追问非常感谢 那么它们俩是干什么用的 这个问题可能比较白痴。。追答cell函数是造元素为cell类型的矩阵
A=cell(100,1)就是造了100行1列的cell矩阵

结构体用来描述一个特定事物的属性,类似于定义一个变量
struct('field1',val1,'field2',val2,……),其中field1、field2为域名,val1、val2为具体值
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯