Определите, является ли введенный полем массива структур
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 ()