MATLAB结构体字段(field)有关函数总结
来源:网络收集 点击: 时间:2024-05-02isfield(结构体,字段)可以判断字段是否属于结构体。
isfield(结构体,字符串元胞数组)可以判断元胞数组中的字符串是否属于结构体字段,返回等长逻辑值数组。

fieldnames(结构体)返回该结构体的所有字段名称组成的元胞数组。效果如图。

getfield(结构体,字段)的输入结构体是一个1*1的单个结构体(如果是数组会取第一个),返回这个结构体对应字段的值。

若要从结构体数组获取单个结构体和取出字段,使用
setfield(结构体数组,{第一维下标,第二维下标,...},字段)
等价于 结构体数组(第一维下标,第二维下标).字段

如果所要取得的字段是数组,还可以指定第四个参数,也是维度列表,指定字段的维度。
如图的getfield代码等价于 s2.(2,2).Mat(2,1)

rmfield(结构体,字段)将字段从结构体中移除后作为返回值。
注意!rmfield的返回值如果不赋值给原结构体,将会复制一份返回,不会对原结构体产生影响。

setfield函数用于给结构体字段赋值。
和getfield的参数用法相似,只不过setfield还要多一个参数,就是要赋的值。

setfield同样,如果等号左边不是原结构体,将会在复制的结构体/结构体数组上操作和返回,不会对原结构体有影响。

orderfields(s)可以对字段按照字符串进行排序,默认操作。
orderfields(s, ) 可以对有n个字段的结构体s,按照排列列表指定为顺序排放。


orderfields(s,字符串元胞数组) 可以按照字符串元胞数组中字符串的顺序排放结构体s的字段。字符串元胞数组必须且只能含有结构体s的全部字段名称。

orderfields可以有两个返回值,第二个返回值是字段排序后,相对排序前的位置列表。

关于结构体字段的创建,属于创建结构体的内容略。
版权声明:
1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。
2、本站仅提供信息发布平台,不承担相关法律责任。
3、若侵犯您的版权或隐私,请联系本站管理员删除。
4、文章链接:http://www.1haoku.cn/art_654760.html