How I can append matrices of different dimensions in another matrix?

조회 수: 6(최근 30일)
SANDEEP SINGH RANA
SANDEEP SINGH RANA 2021년 5월 14일
댓글: SANDEEP SINGH RANA 2021년 5월 14일
I want to make a empty matrix in which i want to append matrix of dimensions 3*1,4*1, 3*1,2*1 etc.
It is better if I am able to append through for loop because I have 8-10 matrix of dimensions 3*1,4*1, 3*1,2*1).
Please suggest by showing or refering example.
Thanks
  댓글 수: 2

댓글을 달려면 로그인하십시오.

채택된 답변

Stephan
Stephan 2021년 5월 14일
A = randi(10, 3, 1)
A = 3×1
2 1 6
B = rand(4, 1)
B = 4×1
0.2924 0.8584 0.9733 0.8157
C = randi(10,5,1)
C = 5×1
2 3 4 3 2
D = vertcat(A,B,C)
D = 12×1
2.0000 1.0000 6.0000 0.2924 0.8584 0.9733 0.8157 2.0000 3.0000 4.0000
  댓글 수: 2
Stephan
Stephan 2021년 5월 14일
I dont recommend to do so, because you have to transpose them additionally, which doesnt make much sense. If you need a row vector you could also transpose the result of my code instead of transposing all the elements and then use horzcat:
A = randi(10, 3, 1);
B = rand(4, 1);
C = randi(10,5,1);
D = (vertcat(A,B,C)).'
D = 1×12
5.0000 5.0000 7.0000 0.1645 0.1534 0.2924 0.6751 10.0000 2.0000 2.0000 6.0000 6.0000
Maybe you might want to use a cell array:
D = {A, B, C}
D = 1×3 cell array
{3×1 double} {4×1 double} {5×1 double}
There are a many ways to do what you want.

댓글을 달려면 로그인하십시오.

추가 답변(1개)

VBBV
VBBV 2021년 5월 14일
%if true
A = randi(10, 3, 1)
B = rand(4, 1)
C = randi(10,5,1)
D = horzcat(A.',B.',C.')
For horzcat use transpose

Community Treasure Hunt

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

Start Hunting!

Translated by