Примените функцию к каждому элементу массива
применяет функциональный B
= arrayfun(func
,A
)func
к элементам A
, один элемент за один раз. arrayfun
затем конкатенирует выходные параметры от func
в выходной массив B
, так, чтобы для i
элемент th A
, B(i) = func(A(i))
. Входной параметр func
указатель на функцию к функции, которая берет один входной параметр и возвращает скаляр. Выход от func
может иметь любой тип данных, пока объекты того типа могут быть конкатенированы. Массивы A
и B
имейте тот же размер.
Вы не можете задать порядок в который arrayfun
вычисляет элементы B
или используйте то, чтобы они были сделанным в каком-то конкретном порядке.
применяет B
= arrayfun(___,Name,Value
)func
с дополнительными опциями, заданными одним или несколькими Name,Value
парные аргументы. Например, чтобы возвратить выходные значения в массиве ячеек, задайте 'UniformOutput',false
. Можно возвратить B
как массив ячеек, когда func
возвращает значения, которые не могут быть конкатенированы в массив. Можно использовать Name,Value
парные аргументы с входными параметрами любого из предыдущих синтаксисов.
[B1,...,Bm] = arrayfun(___)
возвращает несколько выходных массивов B1,...,Bm
когда func
возвращает m
выходные значения. func
может возвратить выходные аргументы, которые имеют различные типы данных, но тип данных каждого выхода должен быть тем же каждым разом func
называется. Можно использовать этот синтаксис с любым из входных параметров предыдущих синтаксисов.
Количество выходных аргументов от func
не должен совпадать с количеством входных параметров, заданных A1,...,An
.
cell2mat
| cellfun
| spfun
| splitapply
| structfun