Mercurial > repos > public > sbplib
comparison +blockmatrix/getDivision.m @ 886:8894e9c49e40 feature/timesteppers
Merge with default for latest changes
author | Vidar Stiernström <vidar.stiernstrom@it.uu.se> |
---|---|
date | Thu, 15 Nov 2018 16:36:21 -0800 |
parents | a5f1b0267dba |
children |
comparison
equal
deleted
inserted
replaced
816:b5e5b195da1e | 886:8894e9c49e40 |
---|---|
1 function div = getDivision(bm) | |
2 if ~blockmatrix.isBlockmatrix(bm) | |
3 error('blockmatrix:getDivision:NotABlockmatrix', 'Input is not a blockmatrix'); | |
4 end | |
5 | |
6 if isempty(bm) | |
7 div = {[],[]}; | |
8 return | |
9 end | |
10 | |
11 div = {row_height(bm),col_width(bm)}; | |
12 end | |
13 | |
14 | |
15 function m = col_width(C) | |
16 m = zeros(1,size(C,2)); | |
17 for j = 1:size(C,2) | |
18 for i = 1:size(C,1) | |
19 if isNullMatrix(C{i,j}) | |
20 continue | |
21 end | |
22 m(j) = size(C{i,j},2); | |
23 end | |
24 end | |
25 end | |
26 | |
27 function n = row_height(C) | |
28 n = zeros(1,size(C,1)); | |
29 for i = 1:size(C,1) | |
30 for j = 1:size(C,2) | |
31 if isNullMatrix(C{i,j}) | |
32 continue | |
33 end | |
34 n(i) = size(C{i,j},1); | |
35 end | |
36 end | |
37 end | |
38 | |
39 function b = isNullMatrix(A) | |
40 [n, m] = size(A); | |
41 b = n == 0 && m == 0; | |
42 end |