isfield函数

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} 中指定的字段,isfieldtf(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
    原文作者:庵下桃花仙
    原文地址: https://www.jianshu.com/p/ba53f089ae83
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞