Array dimensions must agree vertcat

6 Ansichten (letzte 30 Tage)
Will Kimmerer
Will Kimmerer am 29 Okt. 2015
Kommentiert: Chad Greene am 29 Okt. 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?

Antworten (1)

Chad Greene
Chad Greene am 29 Okt. 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 Kommentare
Will Kimmerer
Will Kimmerer am 29 Okt. 2015
Bearbeitet: Will Kimmerer am 29 Okt. 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 am 29 Okt. 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);

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Creating and Concatenating Matrices finden Sie in Help Center und File Exchange

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by