exponenta event banner

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. I,J-й элемент DMObjNew1 равно Func(DMObj1(I,J)), где Func - дескриптор функции, который принимает один входной аргумент, возвращает одно скалярное значение и возвращает значения одного и того же класса при каждом вызове.

DMObjNew1 = dmarrayfun(Func, DMObj1, DMObj2, ...) вычисляет функцию, заданную Func использование элементов в DMObj1, DMObj2и т.д. в качестве входных аргументов. 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