admin 管理员组

文章数量: 1086019


2024年4月16日发(作者:unicode码是不等长编码吗)

matlab中使用结构体

结构(struct)数组

要在MALTAB中实现比较复杂的编程,就不能不用struct类型。而

且在MATLAB中实现struct比C中更为方便。

4. 3.1 结构数组的创建

MATLAB提供了两种定义结构的方式:直接应用和使用struct函

数。

1. 使用直接引用方式定义结构

与建立数值型数组一样,建立新struct对象不需要事先申明,可以

直接引用,而且可以动态扩充。比如建立一个复数变量x:

= 0; % 创建字段名为real,并为该字段赋值为0

= 0 % 为x创建一个新的字段imag,并为该字段赋值为0

x =

real: 0

imag: 0

然后可以将其动态扩充为数组:

x(2).real = 0; % 将x扩充为1×2的结构数组

x(2).imag = 0;

在任何需要的时候,也可以为数组动态扩充字段,如增加字段scale:

x(1).scale = 0;

这样,所有x都增加了一个scale字段,而x(1)之外的其他变量的

scale字段为空:

x(1) % 查看结构数组的第一个元素的各个字段的内容

ans =

real: 0

imag: 0

scale: 0

x(2) % 查看结构数组的第二个元素的各个字段的内容,注意没有赋

值的字段为空

ans =

real: 0

imag: 0

scale: []

应该注意的是,x的real、imag、scale字段不一定是单个数据元

素,它们可以是任意数据类型,可以是向量、数组、矩阵甚至是其他

结构变量或元胞数组,而且不同字段之间其数据类型不需要相同。例

如:

clear x; = [1 2 3 4 5]; = ones(10,10);

数组中不同元素的同一字段的数据类型也不要求一样:

x(2).real = '123';

x(2).imag = rand(5,1);


本文标签: 数组 结构 字段 建立 数据类型