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

3 views (last 30 days)
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

Accepted Answer

Stephen23
Stephen23 on 10 Jun 2021
Edited: Stephen23 on 10 Jun 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(:)]

More Answers (1)

Joel Lynch
Joel Lynch on 9 Jun 2021
Edited: Joel Lynch on 10 Jun 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 Comments
Benson Gou
Benson Gou on 10 Jun 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 on 10 Jun 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.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!