Main Content

isfield

确定输入是否为结构体数组字段

说明

示例

如果 field 是结构体数组 S 的一个字段的名称,则 TF = isfield(S,field) 返回 1。否则,将返回 0

如果 field 是包含多个名称的数组且 S 是结构体数组,则 TF 是大小相同的逻辑数组。

如果 S 不是结构体数组,则 isfield 返回 0

示例

全部折叠

创建一个结构体。

S.x = linspace(0,2*pi);
S.y = sin(S.x);
S.title = 'y = sin(x)'
S = struct with fields:
        x: [0 0.0635 0.1269 0.1904 0.2539 0.3173 0.3808 0.4443 0.5077 0.5712 0.6347 0.6981 0.7616 0.8251 0.8885 0.9520 1.0155 1.0789 1.1424 1.2059 1.2693 1.3328 1.3963 1.4597 1.5232 1.5867 1.6501 1.7136 1.7771 1.8405 1.9040 1.9675 ... ] (1x100 double)
        y: [0 0.0634 0.1266 0.1893 0.2511 0.3120 0.3717 0.4298 0.4862 0.5406 0.5929 0.6428 0.6901 0.7346 0.7761 0.8146 0.8497 0.8815 0.9096 0.9341 0.9549 0.9718 0.9848 0.9938 0.9989 0.9999 0.9969 0.9898 0.9788 0.9638 0.9450 0.9224 ... ] (1x100 double)
    title: 'y = sin(x)'

确定 'title' 是否为 S 的字段名称。

TF = isfield(S,'title')
TF = logical
   1

您可以通过在元胞数组或字符串数组中指定多个名称以在对 isfield 函数的一次调用中测试它们。

field = {'x','y','z','title','error'};
TF = isfield(S,field)
TF = 1x5 logical array

   1   1   0   1   0

输入参数

全部折叠

结构体数组。

可能的字段名称,指定为字符向量、字符向量元胞数组或字符串数组。

提示

  • 如果输入参数 S 是对象,则 isfield 始终返回 0,即使 field 是属性的名称也是如此。

    要确定一个名称是否为对象属性的名称,请使用 isprop 函数。

扩展功能

版本历史记录

在 R2006a 之前推出