Cobine two cell arrays with Nested Cellfun

1 view (last 30 days)
Moiz
Moiz on 10 Feb 2016
Commented: Moiz on 10 Feb 2016
Hi all,
I have two cell arrays : A = {'13','15','17,'18'}; B = {'16','18','20','22','24',25','26','27,'28'};
I want to comine them and create a new cell array (of size 1x36) such that each element in the cell array is of the form '13x16','13x18',....'13x28','15x16',....'15x28',...'18x16',....'18x28'
I thought of using a nested cellfun for this like shown below : Combi = cellfun(@(x) cellfun(@(y) [x, 'x', y],B,'Uniform',false), A,'Unifrom',false);
However I get an error saying 'Input #3 expected to be a cell array, was char instead'
Any ideas what could be going on ?

Answers (1)

Andrei Bobrov
Andrei Bobrov on 10 Feb 2016
[b,a] = ndgrid(B,A);
out = strcat(a,{'x'},b);
  1 Comment
Moiz
Moiz on 10 Feb 2016
Tried this but does not seem to work. First of all the ndgrid function returns an error 'Undefined function 'full' for input arguments of type 'cell'...

Sign in to comment.

Categories

Find more on Resizing and Reshaping Matrices in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!