欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 八卦 > MATLAB——数组类型(二)

MATLAB——数组类型(二)

2024/10/24 11:24:26 来源:https://blog.csdn.net/MelyLenient/article/details/139854861  浏览:    关键词:MATLAB——数组类型(二)

文章目录

  • 前言
  • 元胞数组
    • 元胞数组寻访
    • 元胞数组的操作
      • 合并
      • 删除
      • 变形

前言

本章记录一下元胞数组的相关操作。寻访、合并、删除、变形。

元胞数组

元胞数组概念及创建详见MATLAB——数组类型。

元胞数组寻访

元胞数组中单元与单元内容是两个不同的东西。因此寻访单元和寻访单元内容的操作同样不同。因此再MATLAB中又对元胞数组设计了不同的操作对象。
即单元外标识(Cell Indexing)和单元内编址(Cell Address)。
假定存在一个元胞数组Cella,Cella(x,y)代表元胞数组的x行y列的单元,而不是单元内的内容。Cell{x,y} 代表元胞数组的x行y列单元的内容。
小括号"()“代表寻访单元,花括号”{}"代表寻访单元内的内容。

Cella = {'hello',3,[1,2,3,4];sin(pi/2),1>2,'byebye'}
unit1 = Cella(2,2)
class(unit1)
unit2 = Cella{2,2}
class(unit2)
上述输出为:
Cella = 
2*3Cell数组
unit1 = 
1*1Cell数组
{[0]}
ans = 'cell'
unit2 = 
logical
0
ans = 'logical'

元胞数组的操作

元胞数组的相关操作。合并、删除、变形。

合并

假定存在元胞数组a{1,2; ‘cella’;3}元胞数组b{‘hello’;1,2,3,4;‘world’}
令c={a b}
则其c的内容为

c={{1,2; 'cella';3};{'hello';1,2,3,4;'world'}}
c=
1*2 cell数组
{1*4 cell} {1*3 cell}

删除

元胞数组的指定单元删除只需要把空矩阵赋给该单元即可。

>> c={sin(pi/2),'Hello,World',[1,2,3],[4,5,6]}
>> c{1,4} = []  %删除第一行第一列的单元
>c=
>1*4 cell数组
{1} {'hello,world'} {1*3 double} {0*0 double}

变形

元胞数组的变形可以借用矩阵的转置来相近理解,即行变列,列变行。元胞数组变形需要利用reshape函数。
使用形式如下

>> newCell = reshape(oldCell,M,N)

该函数将元胞数组oldCell改变为具有M行N列的新元胞数组。
将删除中的c元胞数组进行变形

>>newC = reshape(c,4,1)
>>newC = 4*1 Cell 数组{1}{'hello,world'}{1*3 double}{0*0 double}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com