Mercurial > repos > public > sbplib
comparison +blockmatrix/toMatrix.m @ 427:a613960a157b feature/quantumTriangles
merged with feature/beams
author | Ylva Rydin <ylva.rydin@telia.com> |
---|---|
date | Thu, 26 Jan 2017 15:59:25 +0100 |
parents | 46aa0b6a10cd |
children | c14875cf7ae6 |
comparison
equal
deleted
inserted
replaced
426:29944ea7674b | 427:a613960a157b |
---|---|
1 function A = toMatrix(bm) | |
2 if ~blockmatrix.isBlockmatrix(bm) | |
3 error('blockmatrix:toMatrix:NotABlockmatrix', 'Input is not a blockmatrix'); | |
4 end | |
5 | |
6 div = blockmatrix.getDivision(bm); | |
7 n = div{1}; | |
8 m = div{2}; | |
9 | |
10 N = sum(n); | |
11 M = sum(m); | |
12 | |
13 A = sparse(N,M); | |
14 | |
15 n_ind = [0 cumsum(n)]; | |
16 m_ind = [0 cumsum(m)]; | |
17 | |
18 for i = 1:size(bm,1) | |
19 for j = 1:size(bm,2) | |
20 if isempty(bm{i,j}) | |
21 continue | |
22 end | |
23 % TODO: If this ever fails for large matrices. Try cell2mat instead. | |
24 A(n_ind(i)+1:n_ind(i+1),m_ind(j)+1:m_ind(j+1)) = bm{i,j}; | |
25 end | |
26 end | |
27 end |