Array dimensions must agree vertcat
Show older comments
I've been trying to concatenate two cell arrays (both of which are 1x157) and I can use vertcat to do so in using the input/command line but I get an "Dimensions of matrices being concatenated are not consistent.:" error when I do so in a function. Is there anything I can do or will I have to perform the concatenation manually every time I need to?
Answers (1)
Chad Greene
on 29 Oct 2015
My guess is both arrays are not 1x157. Is one of them 157x1? Because this works fine:
x = rand(1,157);
y = rand(1,157);
z = vertcat(x,y);
However,
x = rand(1,157);
y = rand(157,1);
z = vertcat(x,y);
Error using vertcat
Dimensions of matrices being concatenated are not consistent.
2 Comments
Will Kimmerer
on 29 Oct 2015
Edited: Will Kimmerer
on 29 Oct 2015
Chad Greene
on 29 Oct 2015
Are you sure the constants are cells? Because
x = rand(1,157);
y = cell([1 157]);
z = vertcat(x,y);
Error using vertcat
Dimensions of matrices being concatenated are not consistent.
But if you convert x to a cell array it works:
x = rand(1,157);
y = cell([1 157]);
z = vertcat(num2cell(x),y);
Categories
Find more on Creating and Concatenating Matrices in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!