MATLAB数据类型(2)

目录

结构体数组(struct)

元胞数组(cell)

逻辑数据的简单使用

MATLAB数据类型(1)链接:


结构体数组(struct)

结构体类型数据把不同的数据组成一个逻辑上的整体。

结构体的建立如下:

>> stu(1).name='beixifen';stu(1).class=12;stu(1).array=[1 2 3];
>> stu(2).name='abc';stu(2).class=13;stu(2).array=[1 2 3;4 5 6];
%由于加了分号,下面的内容不会显示,为了方便说明,这里显示出来
stu = 
  包含以下字段的 1×2 struct 数组:
    name
    class
    array

这样便建立了一个叫做stu的结构体(数组)变量,他含有两个成员,每个成员有三个变量。

结构体使用点 . 引用成员的变量,如下:

>> stu(1).name
ans =
    'beixifen'
>> stu(1)
ans = 
  包含以下字段的 struct:
     name: 'beixifen'
    class: 12
    array: [1 2 3]

结构体数组的添加与删除

>> stu(3).name='guapi'   %添加一个stu(3)
stu = 
  包含以下字段的 1×3 struct 数组:
    name
    class
    array

>> stu(3)=[]             %使用空数组[],将stu(3)删除
stu = 
  包含以下字段的 1×2 struct 数组:

    name
    class
    array

这样就可以添加第三个结构体成员。

结构体成员的添加与删除( 删除要用rmfield函数)

>> stu(1).grade=59     %结构体成员的添加
stu = 
  包含以下字段的 1×2 struct 数组:
    name
    class
    array
    grade

>> stu=rmfield(stu,'grade')   %结构体成员的删除
stu = 
  包含以下字段的 1×2 struct 数组:
    name
    class
    array

元胞数组(cell)

在一些MATLAB书中也把它叫做单元数组。它与结构体数组类似,是不同类型的变量组成的整体。在结构体中,每个变量有自己的名字,我们就可以使用他的名字来找到我们需要的变量。而元胞数组不同,它本身是一个矩阵,他的元素可以是不同类型的数据,且没有名字。

元胞数组可以用大括号整体定义{},例如:

>> stu={'beixifen',12,[1 2;3 4];'guapi',14,[3 4;5 6]}  %其中的逗号可以用空格代替
stu =
  2×3 cell 数组
    {'beixifen'}    {[12]}    {2×2 double}
    {'guapi'   }    {[14]}    {2×2 double}

也可以各元素分开定义,例如:

>> a(1,1)={'beixifen'},a(1,2)={59}  %第一种方式
a =
  1×2 cell 数组

    {'beixifen'}    {[59]}


>> a{1,1}='beixifen',a{1,2}=59%     第二种方式
a =
  1×2 cell 数组

    {'beixifen'}    {[59]}

元胞数组的引用

引用元胞数组的内容要用{},这个是不同于一般矩阵引用采用()的方式。

>> a{1,2}  %使用{}引用
ans =
    59



>> a(1,2)  %使用()引用
ans =
  1×1 cell 数组

    {[59]}

元胞数组元素的删除

>> a(2)=[]     %使用空数组[]
a =
  1×1 cell 数组

    {'beixifen'}

需要注意的是,当一个多维的数组某一个元素被删除后,他将变成一个行向量。


逻辑数据的简单使用

逻辑数组与字符串

>> str='beixifen'
str =
    'beixifen'

>> str=='b'   %将b与字符串逐个比较,相同返回1,否则返回0
ans =

  1×8 logical 数组

   1   0   0   0   0   0   0   0



%%逻辑数组可以当作索引,如下

>>lgc=logical([1 0 0 1 0 1 0 0])  %逻辑数组的定义
lgc =
  1×8 logical 数组

   1   0   0   1   0   1   0   0

>> str(lgc)   %把逻辑宿主当作索引
ans =

    'bxf'

 


MATLAB数据类型(1)链接:

https://blog.csdn.net/Bei_xifen/article/details/82765251

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值