Array dimensions must agree vertcat

6 visualizaciones (últimos 30 días)
Will Kimmerer
Will Kimmerer el 29 de Oct. de 2015
Comentada: Chad Greene el 29 de Oct. de 2015
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?

Respuestas (1)

Chad Greene
Chad Greene el 29 de Oct. de 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 comentarios
Will Kimmerer
Will Kimmerer el 29 de Oct. de 2015
Editada: Will Kimmerer el 29 de Oct. de 2015
When I output the two cell arrays I'm trying to concatenate as workspace variables they display as 1x157 cells. I'll check again though. Edit: They're the same size but it's still not working. One of them is an array of constants so I just ended up copying the data directly into the function and made a new variable for it.
Chad Greene
Chad Greene el 29 de Oct. de 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);

Iniciar sesión para comentar.

Categorías

Más información sobre Creating and Concatenating Matrices en Help Center y File Exchange.

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by