dmarrayfun (DataMatrix)

Применить функцию к каждому элементу объекта DataMatrix

Синтаксис

DMObjNew1 = dmarrayfun(Func, DMObj1)
DMObjNew1 = dmarrayfun(Func, DMObj1, DMObj2, ...)
[DMObjNew1, DMObjNew2, ...] = dmarrayfun(Func, DMObj1, ...)
[DMObjNew1, ...] = dmarrayfun(Func, DMObj1, ...'UniformOutput', UniformOutputValue, ...)
[DMObjNew1, ...] = dmarrayfun(Func, DMObj1, ...'DataMatrixOutput', DataMatrixOutputValue, ...)
[DMObjNew1, ...] = dmarrayfun(Func, DMObj1, ...'Rows', RowsValue, ...)
[DMObjNew1, ...] = dmarrayfun(Func, DMObj1, ...'Columns', ColumnsValue, ...)
[DMObjNew1, ...] = dmarrayfun(Func, DMObj1, ...'ErrorHandler', ErrorFuncHandle, ...)

Входные параметры

Func

Указатель на функцию для функции, которая возвращает один или несколько скаляров и возвращает значения одного и того же класса каждый раз, когда он вызывается.

DMObj1

Объект DataMatrix, например, созданный DataMatrix (конструктор объектов).

DMObj2

Одно из следующих:

  • Объект DataMatrix, например, созданный DataMatrix (конструктор объектов)

  • MATLAB® числовой массив

Примечание

DMObj2 а последующие входные объекты или массивы должны быть того же размера (количество строк и столбцов), что и DMObj1.

UniformOutputValue

Определяет, Func ли необходимо вернуть выходные значения без инкапсуляции в массив ячеек. Варианты true (по умолчанию) или false. Если true, dmarrayfun необходимо вернуть скалярные значения, которые могут быть объединены в массив. Эти значения могут также быть массивом ячеек. Если false, dmarrayfun возвращает массив ячеек (или несколько массивов ячеек), где I, Jтретья камера содержит значение, равное Func(DMObj1(I, J),...).

DataMatrixOutputValue

Определяет, должны ли возвращаемые значения быть объектами DataMatrix. Варианты true (по умолчанию) или false. Если вы задаете 'UniformOutput' свойство к false, это свойство игнорируется.

RowsValue, ColumnsValue

Задает строки или столбцы, к которым будет применяться функция. Варианты:

  • Положительное целое число

  • Вектор положительных целых чисел

  • Вектор символов, задающий имя строки или столбца

  • Массив ячеек из символьных векторов

  • Логический вектор

ErrorFuncHandleЗадает указатель на функцию для функции, которая dmarrayfun вызывает, если вызов Func сбой.

Выходные аргументы

DMObjNew1, DMObjNew2Объекты DataMatrix, созданные из применения функции к каждому элементу в одном или нескольких объектах DataMatrix. Размер (количество строк и столбцов), имена строк и имена столбцов будут совпадать с DMObj1.

Описание

DMObjNew1 = dmarrayfun(Func, DMObj1) применяет функцию, заданную в Func каждому элементу в DMObj1, объект DataMatrix и возвращает результаты в DMObjNew1, новый объект DataMatrix. DMObjNew1 имеет тот же размер (количество строк и столбцов), имена строк и имена столбцов, что и DMObj1. The I, Jпервый элемент DMObjNew1 равно Func(DMObj1(I, J)), где Func является указателем на функцию для функции, которая принимает один входной параметр, возвращает одно скалярное значение и возвращает значения одного и того же класса каждый раз, когда он вызывается.

DMObjNew1 = dmarrayfun(Func, DMObj1, DMObj2, ...) оценивает функцию, заданную как Func использование элементов в DMObj1, DMObj2, и т.д. в качестве входных параметров. The I, Jпервый элемент DMObjNew1 равно Func(DMObj1(I, J), DMObj2(I, J),...), где Func является указателем на функцию для функции, которая принимает несколько входные параметры, возвращает один скаляр и возвращает значения одного и того же класса каждый раз, когда он вызывается.

[DMObjNew1, DMObjNew2, ...] = dmarrayfun(Func, DMObj1, ...) оценивает функцию, заданную как Func использование элементов в DMObj1, и, возможно, другие входные параметры. Func - указатель на функцию для функции, которая принимает один или несколько входные параметры, возвращает несколько скаляров и возвращает значения одного и того же класса каждый раз, когда он вызывается. Он возвращает объекты DataMatrix DMObjNew1, DMObjNew2, и т.д. с каждым, соответствующим одному из выходов Func. Выходные выходы Func однако может быть разных классов, но каждый выход должен быть одинаковым каждый раз, когда он вызывается.

[DMObjNew1,...] = dmarrayfun (Func, DMObj1... 'PropertyName', PropertyValue, ...) вызывает dmarrayfun с необязательными свойствами, которые используют пары имя/значение свойства. Можно задать одно или несколько свойств в любом порядке. Каждый PropertyName должны быть заключены в одинарные кавычки и нечувствительны к регистру. Эти имена свойства/пары значения свойств следующие:

[DMObjNew1, ...] = dmarrayfun(Func, DMObj1, ...'UniformOutput', UniformOutputValue, ...) задает, Func необходимо вернуть выходные значения без инкапсуляции в массив ячеек. Варианты true (по умолчанию) или false. Если true, dmarrayfun необходимо вернуть скалярные значения, которые могут быть объединены в массив. Эти значения могут также быть массивом ячеек. Если false, dmarrayfun возвращает массив ячеек (или несколько массивов ячеек), где I, Jтретья камера содержит значение, равное Func(DMObj1(I, J),...).

[DMObjNew1, ...] = dmarrayfun(Func, DMObj1, ...'DataMatrixOutput', DataMatrixOutputValue, ...) определяет, должны ли возвращаемые значения быть объектами DataMatrix. Варианты true (по умолчанию) или false. Если вы задаете 'UniformOutput' свойство к false, это свойство игнорируется.

[DMObjNew1, ...] = dmarrayfun(Func, DMObj1, ...'Rows', RowsValue, ...) применяет функцию только к строкам объекта DataMatrix, заданным в RowsValue, которое может быть положительным целым числом, вектором положительных целых чисел, вектором символов, задающим имя строки, массивом ячеек из векторов символов или логическим вектором.

[DMObjNew1, ...] = dmarrayfun(Func, DMObj1, ...'Columns', ColumnsValue, ...) применяет функцию только к столбцам объекта DataMatrix, заданным в ColumnsValue, которое может быть положительным целым числом, вектором положительных целых чисел, вектором символов, задающим имя столбца, массивом ячеек из векторов символов или логическим вектором.

[DMObjNew1, ...] = dmarrayfun(Func, DMObj1, ...'ErrorHandler', ErrorFuncHandle, ...) задает указатель на функцию для функции, которая dmarrayfun вызывает, если вызов Func сбой. Функция обработки ошибок будет вызвана с этими входными параметрами:

  • Структурируйте следующие поля:

    • identifier - Идентификатор ошибки

    • message - Текст сообщения об ошибке

    • index - Линейный индекс во входные массивы (массивы ) (ы), в котором произошла ошибка

  • Набор входных параметров, при котором не удалось вызвать функцию

Если вы не задаете ErrorFuncHandle, dmarrayfun повторно выдает ошибку из вызова в Func.

Введенный в R2008b