Mercurial > repos > public > sbplib
view +blockmatrix/toMatrix.m @ 572:4a73b2aab91f feature/utux2D
Edit scheme.Utux: Add interface function. Compatible with new grids. Works with Utux_1D_interface.
author | Martin Almquist <martin.almquist@it.uu.se> |
---|---|
date | Thu, 31 Aug 2017 14:57:34 +0200 |
parents | 46aa0b6a10cd |
children | c14875cf7ae6 |
line wrap: on
line source
function A = toMatrix(bm) if ~blockmatrix.isBlockmatrix(bm) error('blockmatrix:toMatrix:NotABlockmatrix', 'Input is not a blockmatrix'); end div = blockmatrix.getDivision(bm); n = div{1}; m = div{2}; N = sum(n); M = sum(m); A = sparse(N,M); n_ind = [0 cumsum(n)]; m_ind = [0 cumsum(m)]; for i = 1:size(bm,1) for j = 1:size(bm,2) if isempty(bm{i,j}) continue end % TODO: If this ever fails for large matrices. Try cell2mat instead. A(n_ind(i)+1:n_ind(i+1),m_ind(j)+1:m_ind(j+1)) = bm{i,j}; end end end