# concatenate vectors

17 views (last 30 days)
Miriam on 10 Nov 2011
Hi, let's say I have e.g. three column-vectors a(nx1), b(nx1), c(nx1) I want to concatinate them to have another column-vector (nx1) which has a,b,c inside one after another. How do I do this? Any help regarding that question is appreciated! Thanks in advance!

Titus Edelhofer on 10 Nov 2011
Hi Miriam,
now with column vectors. Does this what you expect?
a = [1; 2];
b = [3; 4; 5];
c = [6; 7];
d = [a; b; c]
Titus
##### 3 CommentsShow 1 older commentHide 1 older comment
Miriam on 10 Nov 2011
I changed it in the question, thanks for the remark.
Titus Edelhofer on 10 Nov 2011
updated as well ;-)

Walter Roberson on 10 Nov 2011
You cannot do that with numeric vectors. Numeric vectors do not permit nesting.
An nx1 vector is a column vector, by the way, not a row vector.
The code below creates an n x 1 cell array in which each entry is [a(k),b(k),c(k)]
NewArray = mat2cell([a,b,c], ones(1,length(a)), 3 );
I would, though, tend to think that likely whatever you are doing would be more easily done by creating an n x 3 array:
NewArray = [a,b,c];

William on 10 Nov 2011
Newvect = [a(nx1);b(nx1);c(nx1)]
or
Newvect = [a(nx1) b(nx1)c(nx1)]
or try
help strcat
help horzcat
Miriam on 10 Nov 2011
ok great, that's it, thanks!