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

3 visualizzazioni (ultimi 30 giorni)
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

Risposta accettata

Stephen23
Stephen23 il 10 Giu 2021
Modificato: Stephen23 il 10 Giu 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(:)]

Più risposte (1)

Joel Lynch
Joel Lynch il 9 Giu 2021
Modificato: Joel Lynch il 10 Giu 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 Commenti
Benson Gou
Benson Gou il 10 Giu 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 il 10 Giu 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.

Accedi per commentare.

Community Treasure Hunt

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

Start Hunting!

Translated by