how to form a two-column array for a given but dimmension-unknown array?

2 visualizaciones (últimos 30 días)
Dear All,
I have two array with the same length A and B. I want to form another array C which is formed by A and B. But the dimmensions of A and B are uncertain, sometimes A (B) is a row vector so that C = [A' B'], but sometimes A (B) is a column vector so that C = [A B].
I am wondering if there is a simple way to form array C without checking the dimmensions of A and B.
Thanks.
Benson

Respuesta aceptada

Stephen23
Stephen23 el 10 de Jun. de 2021
Editada: Stephen23 el 10 de Jun. de 2021
"I am wondering if there is a simple way to form array C without checking the dimmensions of A and B."
C = [A(:),B(:)]

Más respuestas (1)

Joel Lynch
Joel Lynch el 9 de Jun. de 2021
Editada: Joel Lynch el 10 de Jun. de 2021
You can make a row vector of any N dimensional matrix by linearizing, for example
A( 1:numel(A), 1 ) = A(:);
.Thus, you can always make
C = C(1:numel(A),1:2) = [ A(:) , B(:) ];
  4 comentarios
Benson Gou
Benson Gou el 10 de Jun. de 2021
I got the following error message again.
Error using horzcat
Dimensions of arrays being concatenated are not consistent.
Thanks.
Benson
Joel Lynch
Joel Lynch el 10 de Jun. de 2021
Assuming A and B have the same number of elements, then C=[A(:),B(:)]; should work.
Make sure A, B, and C are cleared and reset before trying this. numel(A) and numel(B) should be the same. And C should not be defined.

Iniciar sesión para comentar.

Categorías

Más información sobre Matrix Indexing en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by