主要内容

在结构阵列中访问数据

此示例显示如何访问结构阵列的内容。要在此示例中运行代码,请将多个变量加载到名为的结构中S.

在标量结构中访问数据

首先,加载数据Flujet.mat.进入标量结构S.。文件Flujet.mat.包含经历湍流的天体物理喷气机的模拟的图像。

s = load('flujet.mat'
S =结构与字段:X:[400x300双]映射:[64x3双]标题:[2x32 char]

文件中的变量(X标题, 和地图现在是结构中的字段。

使用表单的点表示法访问数据structname.fieldname.。例如,通过字段中的数字数据X到了图像功能:

图像(S.X)Colormap(S.map)

要访问一个字段的一部分,请适用于字段中数据大小和类型的索引。例如,通过中心左侧部分X到了图像功能。

CenterLeft = S.X(150:250,1:50);图像(CenterLeft)

如果字段包含单元格数组,请使用Crly BRACE访问数据,例如S.Cellfield {1:50,1:80}

通过索引到结构阵列中访问数据

通过从文件中加载数据来创建非卡拉尔数组Cape.mat进入阵列的第二个元素S.。文件Cape.mat包含Cape Cod,马萨诸塞州的图像。

结构阵列的每个元素必须具有相同的字段。两个都Flujet.mat.Cape.mat包含变量X地图, 和标题S.是一个1×2阵列。

s(2)= load('cape.mat'
S =1×2结构阵列与字段:X地图标题

对于非卡尔结构,访问字段的语法是structName(索引).FieldName。显示Cape Cod的图像,指定2作为指数S.

图像(S(2).x)Colormap(s(2).map)

添加索引以选择并显示一小部分s(2).x

Capesection = S(2).x(200:300,150:250);图像(CAPENECTION)

笔记

只有在指代结构阵列的单个元素时,您只能索引到字段的一部分中。马铃薯®不支持诸如金宝apps(1:2).x(1:50,1:80),它尝试索引到结构的多个元素的字段中。

相关话题