b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

MATLAB如何提取结构中的数据

电脑杂谈  发布时间:2020-05-31 19:26:23  来源:网络整理

树体结构_结构体数组_结构数组 大小

全部展开

1. 创建结构数组

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

a)使用直接引用来定义结构

就像创建数字数组,创建新的struct对象一样,不需要事先声明,可以直接引用它,并且可以动态扩展它. 例如,创建一个复杂变量x:

x.real = 0;%创建一个名为real的字段并将0分配给该字段

x.imag = 0%为x创建一个新的字段imag,并将0分配给该字段

x =

真实: 0

imag: 0

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

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

x(2).imag = 0;

只要需要,32313133353236313431303231363533e59b9ee7ad9431333337613837也可以动态扩展数组的字段,例如增加字段比例:

x(1).scale = 0;

这样,所有x都添加了一个scale字段,并且x(1)以外的变量的scale字段为空:

树体结构_结构体数组_结构数组 大小

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

ans =

真实: 0

imag: 0

比例: 0

x(2)%查看结构数组第二个元素的每个字段的内容,请注意未分配的字段为空

ans =

真实: 0

imag: 0

规模: []

应注意,x的实,成像和缩放字段不一定是单个数据元素. 它们可以是任何数据类型,可以是向量,数组,矩阵,甚至其他结构变量或单元格数组,并且可以使用不同的字段. 数据类型不必相同. 例如:

清除x; x.real = [1 2 3 4 5]; x.imag =个(10,10);

数组中不同元素的相同字段的数据类型不必相同:

x(2).real ='123';

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

您甚至可以通过引用数组字段来定义结构数据类型的字段:

结构体数组_树体结构_结构数组 大小

x(3).real = x(1); x(3).imag = 3;

x(3)

ans =

真实: [1x1结构]

imag: 3

b)使用struct函数创建结构

还可以使用struct函数创建结构,该函数可以将其他形式的数据生成或转换为结构数组.

struct的格式为:

s = sturct('field1',values1,'field2',values2,...);

此函数将生成具有指定字段名称和相应数据的结构数组. 其中包含的数据value1,value2等必须是维数相同的数据,并且数据存储位置一一对应于其他结构位置.

单元格数组用于分配struct. 数组values1,values2等可以是单元格数组,标量单元格单位或单个值. 每个值的数据都分配给相应的字段字段.

当valuesX是单元格数组时结构体数组,生成的结构数组的尺寸与单元格数组的尺寸相同. 如果数据中不包含单元格,则结果结构数组的尺寸为1×1. 例如:

s = struct('type',{'big','little'},'color'结构体数组,{'blue','red'},'x',{3,4})

s =

具有字段的1x2结构数组:

类型

结构体数组_结构数组 大小_树体结构

颜色

x

获取尺寸为1×2的结构数组s,其中包含3个类型,颜色和x字段. 这是因为在结构函数{'big','little'},{'blue','red'}和{3,4}是1×2单元格数组中,可以看到两个数据分量分别为:

s(1,1)

ans =

类型: “大”

颜色: “蓝色”

x: 3

s(1,2)

ans =

类型: “小”

颜色: “红色”

x: 4

相应地,如果struct函数以以下形式编写:

s = struct('type',{'big';'little'},'color',{'blue';'red'},'x',{3; 4})

s =

树体结构_结构体数组_结构数组 大小

具有字段的2x1结构数组:

类型

颜色

x

您将获得2×1结构数组.

2. 结构数组的操作

MATLAB中没有很多函数专用于结构数组的操作. 您可以通过帮助数据类型获取数据类型列表,还可以查看结构数据类型的相关功能.

结构数组的运算功能

将输入处理为输出

Fieldnames获取结构的字段名称

getfield获取结构中指定字段的值

Rmfield删除结构的字段(不是字段内容)

setfield设置结构数组中指定字段的值

结构创建一个结构数组

struct2cell结构数组转换为单元格数组

Isfield判断该字段是否存在

isstruct确定变量是否为结构类型


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-229176-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      热点图片
      拼命载入中...