Sparse Block Matrix Construction

4 views (last 30 days)
I want to construct a matrix that looks like
X = [0, A,
B, 0]
Where the A and B blocks are, in themselves, sparse matrices. I already have code for generating the A and B blocks, and I was hoping to reuse that. Is there a way I can then create the X matrix so that it is also sparse?

Accepted Answer

James Tursa
James Tursa on 22 May 2015
Edited: James Tursa on 22 May 2015
[Am,An] = size(A);
[Bm,Bn] = size(B);
X = spalloc(Am+Bm,An+Bn,nnz(A)+nnz(B));
X(Am+1:Am+Bm,1:Bn) = B;
X(1:Am,Bn+1:An+Bn) = A;

More Answers (0)

Categories

Find more on Resizing and Reshaping Matrices 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!