matlab入门基础{特殊变量}:单元型变量和结构型变量

系列笔记目录

第一节:特殊变量:单元型、结构型



前言

这两种数据类型的特点就是允许用户将不同但是相关的数据类型集成一个单一的变量,方便数据的管理。


一、单元型变量

是以单元为元素的数组,每个元素称为单元,每个单元可以包含其他类型的数组,如实数矩阵、字符串、复数向量。单元型变量通常由"{ }"创建,其数据通过数组下标来引用。

1.单元型变量的创建

(1)赋值语句直接定义。在直接赋值过程中,与在矩阵的定义中使用中括号不同,单元型变量的定义需要使用大括号,而元素之间由逗号隔开。

实例:创建一个2*2的单元型数组。

>> A=[1 2;3 4];%创建矩阵
>> B=3+2*i;
>> C='bitter tea seeds';%创建字符串
>> D=5;
>> %创建单元型数组的4个单元A,B,C,D类型各不相同。
>> E={A,B;C,D}%定义单元型变量

E =

  2×2 cell 数组

    {2×2 double        }    {[3 + 2i]}
    {'bitter tea seeds'}    {[     5]}

(2)对单元的元素逐个进行赋值。该方法的操作方法是先预分配单元型变量的存储空间,然后对变量中的元素逐个进行赋值。实现预分配存储空间的函数是cell()

具体的应用形式如下。
1.cell(N)生成一个nn阶置空的单元数组。
2.cell(M,N)或者cell([M,N])生成m
np…阶置空的单元数组。
3.cell(M,M,P,…)或者cell(M,N,P,…)生成mnp*…阶置空的单元数组。
4.cell(size(A))生成与A同形式的单元型的置空矩阵。

实例:创建一个1*3的单元型数组

>> E=cell(1,3);%创建单元型数组。
>> E{1,1}=[1:4];%创建向量;
>> E{1,2}=3+2*i;
>> E{1,3}='bitter tea seeds';
>> E

E =

  1×3 cell 数组

    {1×4 double}    {[3 + 2i]}    {'bitter tea seeds'}

2.单元型变量的引用

单元型变量的引用应当采用大括号作为下标的标识,而小括号作为下标标识符则只显示该元素的压缩形式。

实例:单元型变量的引用

>> E=cell(1,3);%创建单元型数组。
>> E{1,1}=[1:4];%创建向量;
>> E{1,2}=3+2*i;
>> E{1,3}='bitter tea seeds';
>> E

E =

  1×3 cell 数组

    {1×4 double}    {[3 + 2i]}    {'bitter tea seeds'}

>> E{1}

ans =

       1              2              3              4       

>> E{3}

ans =

    'bitter tea seeds'
>> E(1)

ans =

  1×1 cell 数组

    {1×4 double}

3.MATLAB语言中有关单元型变量的函数

函数名说明
cell生成单元型变量
cellfun对单元型变量中的元素作用的函数
celldisp显示单元型变量的内容
cellplot用图形显示单元型变量的内容
num2cell将数值转换成单元型变量
deal输入输出处理
cell2sturuct将单元型变量转换为结构型变量
struct2cell将结构型变量转换成单元型变量
iscell判断是否为单元型变量
reshape改变单元数组的结构

实例:图形显示单元型变量

>> E={[1 2 3 4],5+2i,'bitter tea seeds'}%定义单元型变量E
>> cellfun('islogical',E)%判断单元型变量E中的元素是否为逻辑变量

ans =

  1×3 logical 数组

   0   0   0

>> cellplot(E)

单元变量的图形结构形式

二、结构型变量

1.结构型变量的创建和引用

结构型变量是根据属性名(field)组织起来的不同数据类型的集合。结构的任何一个属性可以包含不同的数据类型,如字符串、矩阵等。结构型变量用函数struct()创建,其调用格式为:

调用格式说明
s=struct(‘field’,{ },‘field2’,{ },…)表示建立一个空的结构数组,不含数据
s=struct(‘field’,valuesl,‘field2’,values2,…)表示建立一个具有属性名和数据的结构数组

实例:创建结构型变量

>> ds=struct('color',{'red','black'},'number',{1,2})
%创建包含属性‘color’和‘number’的结构型变量ds

ds = 

  包含以下字段的 1×2 struct 数组:

    color
    number

>> ds(1)

ans = 

  包含以下字段的 struct:

     color: 'red'
    number: 1

>> ds(1).color

ans =

    'red'

>> ds(2).number

ans =

       2 

2.结构变量的相关函数

函数名说明
struct创建结构型变量
fieldnames得到结构型变量的属性名
getfield得到结构型变量的属性值
setfield设定结构型变量的属性值
rmfield删除结构型变量的属性
isfield判断是否为结构型变量的属性
isstruct判断是否为结构型变量

总结

本文是以练习中的第三题,做了基础的知识讲解。简单的整理了单元数组与结构数组的笔记,单元数组和结构数组还是很有用的,管理数据十分的方便。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Bitter tea seeds

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

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

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

打赏作者

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

抵扣说明:

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

余额充值