Применить функцию к каждой камере в массиве ячеек
применяет функцию A
= cellfun(func
,C
)func
к содержимому каждой камеры массива ячеек C
, по одной камере за раз. cellfun
затем конкатенирует выходы func
в массив выхода A
, так что для i
первый элемент 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