Примените функцию к каждому элементу массива
B = arrayfun(func,A)
B = arrayfun(func,A1,...,An)
B = arrayfun(___,Name,Value)
[B1,...,Bm] = arrayfun(___)
применяет функциональный 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