У меня есть многоуровневый массив ячеек.Индивидуальные уровни могут быть разных размеров.Мне интересно, как я могу применить cellfun
на самом низком уровне.Представьте себе следующий многоуровневый массив ячеек:
a = {randi(10,5,1), randi(5,5,1)}
b = randi(100,5,1,10)
f = {a,b}
Теперь я бы хотел развернуть как можно больше и применить cellfun
до самого глубокого возможного уровня f
.На каждом уровне находится 2D / 3D матрица.Допустим, я просто хочу добавить 5 к каждому значению.Какой самый эффективный способ?
Вот результат, который я ищу.
[a_nRows, a_nCols, a_nPages] = size(a)
x = cellfun(@plus, f{1}, repmat({5}, a_nRows, a_nCols, a_nPages), 'UniformOutput', false)
y = cellfun(@plus, f(2), {5}, 'UniformOutput', false)