how to merge three matrix into one ?

2 views (last 30 days)
if i have three matrix with different size like this
A = [ 1 1 0 0 1 0
1 0 1 0 0 1
1 1 0 1 0 1
0 1 0 1 0 0 ]
B = [ 2 1 0
1 1 1
2 1 1
1 1 0 ]
C = [ 0 1 0 0 0 0
3 2 1 2 1 2 ]
And i want to merge them like this ( A is the middle , C above A and B on the Right of A )
D = [ 0 1 0 0 0 0
3 2 1 2 1 2
1 1 0 0 1 0 2 1 0
1 0 1 0 0 1 1 1 1
1 1 0 1 0 1 2 1 1
0 1 0 1 0 0 1 1 0 ]
  4 Comments
Firas Al-Kharabsheh
Firas Al-Kharabsheh on 4 Apr 2016
yes its a matrix but i put a spaces between three matrix to explain to you how i want to merge these matrices
Azzi Abdelmalek
Azzi Abdelmalek on 4 Apr 2016
Edited: Azzi Abdelmalek on 4 Apr 2016
From what you posted, in D, the frist three rows contain 6 elements, and the other rows contain 9 elements. You have to precise if you want to append with zeros or nans. A space is not a number, you can append with empty vectors if D was a cell array

Sign in to comment.

Accepted Answer

Azzi Abdelmalek
Azzi Abdelmalek on 4 Apr 2016
If you want to append with zeros
A = [ 1 1 0 0 1 0
1 0 1 0 0 1
1 1 0 1 0 1
0 1 0 1 0 0 ]
B = [ 2 1 0
1 1 1
2 1 1
1 1 0 ]
C = [ 0 1 0 0 0 0
3 2 1 2 1 2 ]
ma=size(A,2)
mb=size(B,2)
[nc,mc]=size(C)
m=max(mc,mb+ma);
C=[C zeros(nc,m-mc)];
out=[C;A B]
  3 Comments

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!