Clear Filters
Clear Filters

how to merge three matrix into one ?

1 view (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)

Categories

Find more on Matrices and Arrays in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!