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'.

 Réponse acceptée

Stephen23
Stephen23 le 28 Juin 2018
Modifié(e) : Stephen23 le 28 Juin 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 commentaire

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

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

Community Treasure Hunt

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

Start Hunting!

Translated by