getfield
结构阵场
语法
描述
例子
标量结构的访问字段
方法返回的结构中获取字段的值什么
函数。什么
返回一个标量结构,其中的字段包含到指定文件夹的路径和文件夹中各种文件的名称。
S =什么(“C: \ Temp”)
S =带字段的结构:路径:'C:\Temp' m: {'testFunc1。mlx: {'testFunc2. m'} mlapp: {0×1 cell} mlx: {'testFunc2. mmlx'} mat: {2×1 cell} mex: {0×1 cell} mdl: {0×1 cell} slx: {0×1 cell} p: {0×1 cell} classes: {0×1 cell} packages: {0×1 cell}
属性中列出的所有活动脚本的名称mlx
字段。当你使用getfield
函数时,可以访问函数返回的结构的字段,而无需使用临时变量来保存该结构。
值= getfield(what(“C: \ Temp”),“mlx”)
值=1×1单元格数组{' testFunc2.mlx '}
还可以使用点表示法访问字段。
value = S.mlx
值=1×1单元格数组{' testFunc2.mlx '}
嵌套结构字段
访问嵌套结构的字段。在嵌套结构中,任何级别的结构都可以有属于结构的字段,也可以有属于非结构的字段。
首先,创建一个嵌套结构。
S.a.b.c = 1;S.a.b.d =“两个”;S.a.b.e = struct(“f”(3 - 4),‘g’,“五”);S.h = 50
S =带字段的结构:A: [1x1 struct] h: 50
而年代
是结构,是场s.a.
,S.a.b
,S.a.b.e
也是结构。
s.a.
ans =带字段的结构:B: [1x1 struct]
S.a.b
ans =带字段的结构:C: 1 d: ' 2 ' e: [1x1 struct]
S.a.b.e
ans =带字段的结构:F: [3 4] g: ' 5 '
返回的值S.a.b.d
使用getfield
函数。当指定以逗号分隔的嵌套结构名列表时,必须在顶部结构和指定的字段名之间的每一层都包含结构。在本例中,以逗号分隔的结构名列表为“一个”、“b”
字段名是' d '
.
值= getfield(S,“一个”,“b”,' d ')
Value = ' 2 '
您还可以使用点表示法来访问相同的字段。
value = S.a.b.d
Value = ' 2 '
结构数组的元素字段
方法返回的结构数组的元素中获取字段的值dir
函数。dir
返回一个结构数组,其每个元素都包含指定文件夹中文件的信息。
返回文件夹中有关文件的信息C: \ Temp
.文件夹中有5个文件。
S = dir(“C: \ Temp”)
S =5×1包含字段的struct数组:名称文件夹日期字节isdir datenum
要显示关于第5个文件的信息,请将索引到年代
.
(5)
ans =带字段的结构:名称:“testFunc2。mlx' folder: 'C:\Temp' date: '19-Jul-2018 09:43:53' bytes: 2385 isdir: 0 datenum: 7.3726e+05
的第5个元素所描述的文件名年代
使用getfield
函数。当你使用getfield
,在单元格数组中指定索引。
值= getfield(S,{5},“名字”)
value = 'testFunc2.mlx'
作为一种替代方法,索引到结构数组中,然后使用点表示法指定字段。
value = S(5).name
value = 'testFunc2.mlx'
嵌套结构数组的索引
访问嵌套结构的字段,其中某些级别的结构为结构数组。在这个例子中,年代
是1 × 2结构数组。第二个元素,(2)
,具有嵌套结构a.b
,在那里b
是1 × 3结构数组。
首先,创建一个嵌套结构。元素创建结构后,使用点符号创建另一个非标量结构数组结构体
函数并将其添加为字段。
S.a = 1;(2) .a.b= struct(' d ',{5、10、20});年代
S =1×2包含字段的struct数组:一个
(2) .a.b
ans =1×3包含字段的struct数组:d
返回的值d
的第三个元素b
使用getfield
函数。必须指定两者的索引年代
而且b
使用单元格数组。
值= getfield(S,{2},“一个”,“b”{3},' d ')
值= 20
您还可以使用点表示法来访问相同的字段。
value = S(2).a.b(3).d
值= 20
场的要素
创建一个具有字段值为数组的结构。
S.a = [5 10 15 20 25]
S =带字段的结构:A: [5 10 15 20 25]
方法返回数组的元素getfield
函数。若要返回子数组,请在字段名称后指定索引。必须在单元格数组中指定索引。
值= getfield(S,“一个”, {[2:4]})
值=1×310 15 20
您还可以使用点表示法和数组索引来访问相同的元素。
value = S.a(2:4)
值=1×310 15 20
输入参数
年代
- - - - - -结构数组
结构数组
结构数组。如果年代
是非标量,那么每个元素的年代
是一个结构,所有元素具有相同的字段和相同的名称。
场
- - - - - -字段名
特征向量|字符串标量
字段名,指定为字符向量或字符串标量。
idx
- - - - - -指数
数值单元格数组
索引,指定为数值或逻辑值的单元格数组。指数年代
字段1到N-1指定结构数组的元素。字段N的索引指定该字段中数组的元素,可以是任何类型。
例子:{1,2}, getfield(年代,' ')
等于(1、2)。
.
例子:如果S.a = [5 10 20]
,然后getfield (S, a,{[2、3]})
返回20 [10]
.
扩展功能
线程环境
使用MATLAB®在后台运行代码backgroundPool
或使用并行计算工具箱™加速代码ThreadPool
.
这个函数完全支持基于线程的环境。金宝app有关更多信息,请参见在线程环境中运行MATLAB函数.
版本历史
R2006a之前介绍
第一MATLAB
海脂循环匹配函数对应求解MATLAB:
Esegui il commanmando inserendolo nella finestra di commanmando MATLAB。我的浏览器web不支持和MATLAB金宝app。
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。