Sum vector to each vector row in cell array

I have a cell array where all its matrices are m-by-3, where m can change from matrix to matrix. I want to sum a vector to each row in the cell array. For example, a function which turns A to B by adding [0 0 1]:
A = {[1 2 3; 0 0 0]} {[9 9 0; 1 2 3]}
B = {[1 2 4; 0 0 1]} {[9 9 1; 1 2 4]}
Is this possible? I am not very familiar with 'cellfun'.

 Respuesta aceptada

Stephen23
Stephen23 el 28 de Jun. de 2018
Editada: Stephen23 el 28 de Jun. de 2018
For MATLAB versions R2016b+:
cellfun(@(m)m+[0,0,1],A,'uni',0)
For earlier versions:
cellfun(@(m)bsxfun(@plus,m,[0,0,1]),A,'uni',0)

1 comentario

Thank you! I was imagining something like that earlier but unfortunately didn't have the 'uni' part settled down.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Etiquetas

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by