annotate +blockmatrix/fromMatrix.m @ 336:f36d172e196b feature/beams

Added missing string method.
author Jonatan Werpers <jonatan@werpers.com>
date Fri, 21 Oct 2016 12:27:18 +0200
parents 40dda96c8c9c
children 3974dccff55b
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
208
40dda96c8c9c blockmatrix: Added function to convert regular matrix to blockmatrix.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
1 function bm = fromMatrix(A, div)
40dda96c8c9c blockmatrix: Added function to convert regular matrix to blockmatrix.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
2 d1 = div{1};
40dda96c8c9c blockmatrix: Added function to convert regular matrix to blockmatrix.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
3 d2 = div{2};
40dda96c8c9c blockmatrix: Added function to convert regular matrix to blockmatrix.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
4 [n, m] = size(A);
40dda96c8c9c blockmatrix: Added function to convert regular matrix to blockmatrix.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
5 if n ~= sum(d1) || m ~= sum(d2)
40dda96c8c9c blockmatrix: Added function to convert regular matrix to blockmatrix.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
6 error('blockmatrix:fromMatrix:NonMatchingDim','The dimensions in div does not sum to the dimensions in A.');
40dda96c8c9c blockmatrix: Added function to convert regular matrix to blockmatrix.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
7 end
40dda96c8c9c blockmatrix: Added function to convert regular matrix to blockmatrix.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
8
40dda96c8c9c blockmatrix: Added function to convert regular matrix to blockmatrix.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
9 bm = cell(length(d1), length(d2));
40dda96c8c9c blockmatrix: Added function to convert regular matrix to blockmatrix.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
10 I = 1;
40dda96c8c9c blockmatrix: Added function to convert regular matrix to blockmatrix.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
11 for i = 1:length(d1)
40dda96c8c9c blockmatrix: Added function to convert regular matrix to blockmatrix.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
12 J = 1;
40dda96c8c9c blockmatrix: Added function to convert regular matrix to blockmatrix.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
13 for j = 1:length(d2)
40dda96c8c9c blockmatrix: Added function to convert regular matrix to blockmatrix.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
14 Asub = A(I:(I + d1(i)-1), J:(J + d2(j)-1));
40dda96c8c9c blockmatrix: Added function to convert regular matrix to blockmatrix.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
15 if nnz(Asub) == 0
40dda96c8c9c blockmatrix: Added function to convert regular matrix to blockmatrix.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
16 bm{i,j} = [];
40dda96c8c9c blockmatrix: Added function to convert regular matrix to blockmatrix.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
17 else
40dda96c8c9c blockmatrix: Added function to convert regular matrix to blockmatrix.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
18 bm{i,j} = Asub;
40dda96c8c9c blockmatrix: Added function to convert regular matrix to blockmatrix.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
19 end
40dda96c8c9c blockmatrix: Added function to convert regular matrix to blockmatrix.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
20 J = J + d2(j);
40dda96c8c9c blockmatrix: Added function to convert regular matrix to blockmatrix.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
21 end
40dda96c8c9c blockmatrix: Added function to convert regular matrix to blockmatrix.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
22 I = I + d1(i);
40dda96c8c9c blockmatrix: Added function to convert regular matrix to blockmatrix.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
23 end
40dda96c8c9c blockmatrix: Added function to convert regular matrix to blockmatrix.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
24 end