Определите, является ли введенный полем массива структур
tf = isfield (S, имя поля)
tf = isfield (S, C)
tf = isfield(S,fieldname)
исследует структуру S
, чтобы видеть, включает ли это поле, заданное fieldname
. Вывод tf
установлен в логический 1
(true
), если S
содержит поле или логический 0
(false
) если нет. Если S
не является массивом структур, isfield
возвращает false
. Входной параметр fieldname
может быть вектором символа или скаляром строки.
tf = isfield(S,C)
исследует структуру S
на несколько имен полей, как задано в C
и возвращает массив логических значений, чтобы указать, какое из этих полей является частью структуры. Элементы выходного массива, tf
установлен в логическую единицу (true
), если соответствующий элемент C
содержит имя поля, которое принадлежит, чтобы структурировать S
. В противном случае логический ноль (false
) возвращен в том элементе. Другими словами, если структура, S
содержит поле, заданное в C(m,n)
, isfield
, возвращает логическую единицу (true
) в tf(m,n)
. Входной параметр C
может быть массивом ячеек из символьных векторов или массивом строк.
isfield
возвращает false
, если входной параметр field
или fieldnames
пуст.
Учитывая следующую структуру 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
Проверьте структуру S
на любые из четырех возможных имен полей. Только первое найдено, таким образом, первый элемент возвращаемого значения установлен в true
:
S = struct('one', 1, 'two', 2); fields = isfield(S, {'two', 'pi', 'One', 3.14}) fields = 1 0 0 0
имена полей
| getfield
| is*
| isa
| iscell
| isstruct
| orderfields
| rmfield
| setfield
| struct ()