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