matlab 遍历结构体struc的成员

MATLAB中专门用于对结构数组的操作的函数并不多,通过 help datatypes获取数据类型列表,可以看到其中的结构数据类型的有关的函数,主要如表4.3.1所示。
表4.3.1 结构数组的操作函数
函数名             功能描述 

deal                 把输入处理成输出 

fieldnames      获取结构的字段名

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

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

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

struct           创建结构数组

struct2cell    结构数组转化成元胞数组 

isfield           判断是否存在该字段

isstruct        判断某变量是否是结构类型 

通过fieldnames获取结构中的字段名,然后通过getfield获得对应的值:

data.name1 = 1;

data.name2 = 2;


data.name1 % 方式一

data.name2


field = fieldnames(data); % cell

for i = 1:length(field)
    
    name_i = field{i};

    value_i = getfield(data, name_i) % 方式二

    value_i = data.(name_i) % 方式三

end

  

原文地址:https://www.cnblogs.com/jiangkejie/p/13179435.html