Concatenating 2 arrays without changing the dimension

I want to concatenate 2 arrays of same dimension. And I want to add a blank space in between. When I use ' ', the dimension changes to nx2 while I want that the dimension should remain as nx1. Is there any way out to do this? Any help is welcome !!!!
E.g.: 2 arrays are of dimension n x 1. I want to concatenate them with a blank space. And, after that also I want that the dimension should be n x 1 and not n x 2.
Thanks again !!!!

4 comentarios

Jan
Jan el 18 de Jun. de 2012
Please give a real example. Are you talking about cell strings?
I'm working on two arrays which include the date and time. So, I wanted to concatenate the two arrays into a single column. Hope that makes clear to you.
Thanks again !!!
Jan
Jan el 18 de Jun. de 2012
Please, Swasti, give an explicite example. E.g.
Input:
C1 = {'26-Jun-2993'; '23-Dec-1998'}
C2 = {'17:23:45', '18:10:17'}
Output:
C3 = {'26-Jun-2993 17:23:45'; '23-Dec-1998 18:10:17'}
???
There are several possible types of "an array containing date and time".
The example is perfect for my case.

Iniciar sesión para comentar.

 Respuesta aceptada

Jan
Jan el 18 de Jun. de 2012
Perhaps you are looking for:
strcat(C1, {' '}, C2)

4 comentarios

I tried this but got the error message as
Error using horzcat
CAT arguments dimensions are not consistent.
Hello Jan,
When I try to concatenate them vertically, it works. But when I concatenate them horizontally, it's creating 2 columns. I don't know why !!!! Is there any data overflow or something like that?
strcat(C1(:), {' '}, C2(:))
Thanks a lot Jan !!!!!

Iniciar sesión para comentar.

Más respuestas (1)

Wayne King
Wayne King el 18 de Jun. de 2012
x = randn(10,1);
y = randn(10,1);
z = [x ;y];
or
z = cat(1,x,y);

5 comentarios

Thanks Wayne for the answer. But I've elaborated my question, please have a look. I want to concatenate the arrays horizontally.
Wayne King
Wayne King el 18 de Jun. de 2012
I'm not sure I understand. How can you concatenate two arrays of dimension Nx1 into a single column and have the resulting dimension still Nx1? The dimension has to be 2*Nx1 if you don't want them to be Nx2
Sorry for the mistake. Yes, it's 2*Nx1 !!! Thanks a lot !!!
Wayne King
Wayne King el 18 de Jun. de 2012
Then why is my answer not correct? What do you mean concatenate horizontally? Do you mean a row vector? Then just transpose the result.
In my case, I have a Nx1 date vector and Nx1 time vector. I want to concatenate the two vectors so that the date and time vector is represented in a single vector (i.e., side by side with a blank space). When I try to use ' ' (blank space), the string concatenates no doubt but there are two columns. I hope you get my query.

Iniciar sesión para comentar.

Categorías

Más información sobre Creating and Concatenating Matrices en Centro de ayuda y File Exchange.

Preguntada:

el 18 de Jun. de 2012

Community Treasure Hunt

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

Start Hunting!

Translated by