特殊变量

允许用户将不同但是相关的数据类型集成一个单一的变量,方便数据的管理。包括单元型变量和结构型变量。

单元型变量(元胞数组)

单元型变量是一种包含名为单元的索引数据容器的数据类型,其中的每个单元都可以包含任意类型的数据。元胞数组通常包含文本列表、文本和数字的组合或者不同大小的数值数组。
1. 单元型变量的创建
(1) 赋值语句直接定义
用大括号{…},元素间用逗号 ,隔开。会根据显示的需要决定是将单元元素完全显示,还是只显示存储量。

>> A=[1,2,3];
>> B=2+8*i;
>> C='abcd';
>> D=9;
>> E={A,B;C,D}

E =

  2×2 cell 数组

    {1×3 double}    {[2.0000 + 8.0000i]}
    {'abcd'    }    {[               9]}

(2)对单元的元素逐个赋值
方式是线预先分配单元型变量的存储空间,然后对变量中的元素逐个进行赋值。采用“cell函数”实现预分配存储空间。

    C = cell(n)   %生成一n×n阶的置空单元数组
    C = cell(sz1,...,szN)   %生成sz1×sz2×...×szN阶的置空单元数组
    C = cell(sz1,sz2)  %生成sz1×sz2阶的置空单元数组
    D = cell(obj)  %生成与obj同型的置空单元数组

实例:

>> E=cell(2,2)  
E =
  2×2 cell 数组
    {0×0 double}    {0×0 double}
    {0×0 double}    {0×0 double}
>> E{1,1}=A;  
>> E{1,2}=B;
>> E{2,1}=C;
>> E{2,2}=D;
>> E
E =
  2×2 cell 数组
    {1×3 double}    {[2.0000 + 8.0000i]}
    {'abcd'    }    {[               9]}

2. 单元型变量的引用

>> E(2,2)    %将索引括在圆括号 () 中可以引用元胞集
ans =
  1×1 cell 数组
   {[9]}
    
 >> E{1,1}    %注意使用大括号 {} 进行索引来访问元胞的内容
ans =
     1     2     3  

3. Matlab语言中有关单元型变量的函数
在这里插入图片描述

结构型变量

结构型变量是根据属性名(field)组织起来的不同数据类型的集合。结构数组内的任何一个对象可以包含不同的数据类型,如字符串、矩阵等。

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

(1)直接引用法创建结构数组
可以直接创建,然后动态扩充。
创建方式:

结构数组变量名.属性名=属性值

结构数组变量名(N).属性名=属性值 %动态扩充为1×N的结构数组

(2)使用struct函数创建结构数组
结构型变量用函数struct来创建,其调用格式:

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

其中,values1、values2…必须具有相同维数
在这里插入图片描述

(3) 结构型变量的引用
通过属性名来引用
在这里插入图片描述
2. 结构型变量的相关函数
在这里插入图片描述

参考书目
[1] 《MATLAB 2018从入门到精通·实战案例版》天工在线 主编
[2] 《MATLAB大学教程》肖汉光 主编

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐