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