Clear Filters
Clear Filters

Sum vector to each vector row in cell array

1 view (last 30 days)
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'.

Accepted Answer

Stephen23
Stephen23 on 28 Jun 2018
Edited: Stephen23 on 28 Jun 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 Comment
Miguel Romanello Joaquim
Miguel Romanello Joaquim on 28 Jun 2018
Thank you! I was imagining something like that earlier but unfortunately didn't have the 'uni' part settled down.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!