isfield
确定输入是否为结构体数组字段
语法
tf = isfield(S, 'fieldname')
tf = isfield(S, C)
说明
tf = isfield(S, 'fieldname')
检查结构体 S
以查看它是否包含带引号的字符向量 'fieldname'
指定的字段。如果 S
包含此字段,则输出 tf
设置为逻辑值 1
(true
),否则设置为逻辑值 0
(false
)。如果 S
不是结构体数组,isfield
返回 false
。
tf = isfield(S, C)
在结构体 S
中检查字符向量元胞数组 C
中指定的多个字段名称,并返回逻辑值数组以指示其中哪些字段属于结构体。如果 C
的对应元素包含属于结构体 S
的字段名称,输出数组 tf
的元素将设置为逻辑值 1 (true
)。否则在此元素中返回逻辑值 0 (false
)。换言之,如果结构体 S
包含 C{m,n}
中指定的字段,isfield
在 tf(m,n)
中返回逻辑值 1 (true
)。
示例 1 – 单个字段名称语法
给定以下 MATLAB® 结构体,
patient.name = 'John Doe';
patient.billing = 127.00;
patient.test = [79 75 73; 180 178 177.5; 220 210 205];
isfield 确定 billing 为该结构体的字段。
isfield(patient,'billing')
ans =
1
示例 2 – 多字段名称语法
在结构体 S 中检查任意四个可能的字段名称。仅找到第一个,因此返回值的第一个元素设置为 true:
S = struct('one', 1, 'two', 2);
fields = isfield(S, {'two', 'pi', 'One', 3.14})
fields =
1 0 0 0