how to merge three matrix into one ?
2 views (last 30 days)
Show older comments
Firas Al-Kharabsheh
on 4 Apr 2016
Commented: Firas Al-Kharabsheh
on 4 Apr 2016
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
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
Accepted Answer
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
More Answers (0)
See Also
Categories
Find more on Logical 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!