特殊变量
允许用户将不同但是相关的数据类型集成一个单一的变量,方便数据的管理。包括单元型变量和结构型变量。
单元型变量(元胞数组)
单元型变量是一种包含名为单元的索引数据容器的数据类型,其中的每个单元都可以包含任意类型的数据。元胞数组通常包含文本列表、文本和数字的组合或者不同大小的数值数组。
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大学教程》肖汉光 主编