Класс: набор данных
Примените функцию к переменным типа массив набора данных
Тип данных dataset
может быть удален в будущем релизе. Чтобы работать с гетерогенными данными, используйте тип данных MATLAB® table
вместо этого. Смотрите MATLAB документация table
для получения дополнительной информации.
b = datasetfun(fun,A)
[b,c,...] = datasetfun(fun,A)
[b,...] = datasetfun(fun,A,...,'UniformOutput',false)
[b,...] = datasetfun(fun,A,...,'DatasetOutput',true)
[b,...] = datasetfun(fun,A,...,'DataVars',vars)
[b,...] = datasetfun(fun,A,...,'ObsNames',obsnames)
[b,...] = datasetfun(fun,A,...,'ErrorHandler',efun)
b = datasetfun(fun,A)
применяет функцию, заданную fun
к каждой переменной массива набора данных A
, и возвращает результаты в векторном b
. i th элемент b
равен fun
, применился к i th переменная набора данных A
. fun
является указателем на функцию к функции, которая берет один входной параметр и возвращает скалярное значение. fun
должен возвращаемые значения того же класса каждый раз, когда это называется, и datasetfun
конкатенирует их в векторный b
. Выходные параметры от fun
должны быть одним из следующих типов: числовой, логический, символ, структура или ячейка.
Чтобы применить функции, которые возвращают результаты, которые являются нескалярными или различных размеров и типов, используйте 'UniformOutput'
или параметры 'DatasetOutput'
, описанные ниже.
Не полагайтесь на порядок, в котором datasetfun
вычисляет элементы b
, который не задан.
Если fun
связан больше чем с одной встроенной функцией или файлом, (то есть, если это представляет набор перегруженных функций), datasetfun
следует за MATLAB, диспетчеризирующим правила в вызывании функции. (См. Порядок приоритета функций (MATLAB).)
[b,c,...] = datasetfun(fun,A)
, то, где fun
является указателем на функцию к функции, которая возвращает несколько выходных параметров, возвращает векторы b
, c
..., каждый соответствующий одному из выходных аргументов fun
. datasetfun
вызывает fun
каждый раз со столькими же выходных параметров, сколько существует в вызове datasetfun
. fun
может возвратить выходные аргументы, имеющие различные классы, но класс каждого вывода должен быть тем же каждым разом, когда fun
называется.
[b,...] = datasetfun(fun,A,...,'UniformOutput',false)
позволяет вам задавать функциональный fun
, который возвращает значения различных размеров или типов. datasetfun
возвращает массив ячеек (или несколько массивов ячеек), где i th ячейка содержит значение fun
, применился к i th переменная набора данных A
. Установка 'UniformOutput'
к true
эквивалентна поведению по умолчанию.
[b,...] = datasetfun(fun,A,...,'DatasetOutput',true)
указывает, что выходной параметр fun
возвращен как переменные в массиве набора данных (или нескольких массивах набора данных). fun
должен возвращаемые значения с одинаковым числом строк каждый раз, когда это называется, но это может возвращаемые значения любого типа. Переменные в выходном массиве (массивах) набора данных имеют те же имена как переменные во входе. Установка 'DatasetOutput'
к false
(значение по умолчанию) указывает, что тип вывода (выводов) от datasetfun
определяется 'UniformOutput'
.
[b,...] = datasetfun(fun,A,...,'DataVars',vars)
позволяет вам применять fun
только к переменным набора данных в A
, заданном vars
. vars
является положительным целым числом, вектором положительных целых чисел, вектора символов, массива строк, массива ячеек из символьных векторов или логического вектора.
[b,...] = datasetfun(fun,A,...,'ObsNames',obsnames)
задает имена наблюдения для набора данных вывод, когда 'DatasetOutput'
является true
.
[b,...] = datasetfun(fun,A,...,'ErrorHandler',efun)
, то, где efun
является указателем на функцию, задает функцию MATLAB, чтобы вызвать, если вызов fun
перестал работать. Функция обработки ошибок вызвана со следующими входными параметрами:
Структура с полями identifier
, message
и index
, соответственно содержащим идентификатор ошибки, которая произошла, текст сообщения об ошибке и линейный индекс во входной массив (массивы), в котором произошла ошибка
Набор входных параметров, в которых перестал работать вызов функции
Функция обработки ошибок должна или повторно выдать ошибку или возвратить то же количество выходных параметров как fun
. Эти выходные параметры затем возвращены как выходные параметры datasetfun
. Если 'UniformOutput'
верен, выходные параметры обработчика ошибок должны также быть скалярами того же типа как выходные параметры fun
. Например, следующий код мог быть сохранен в файле как функция обработки ошибок:
function [A,B] = errorFunc(S,varargin) warning(S.identifier,S.message); A = NaN; B = NaN;
Если функция обработки ошибок не задана, ошибка от вызова до fun
повторно выдана.