Mercurial > repos > public > sbplib
annotate reshapeRowMajTest.m @ 577:e45c9b56d50d feature/grids
Add an Empty grid class
The need turned up for the flexural code when we may or may not have a grid for the open water and want to plot that solution.
In case there is no open water we need an empty grid to plot the empty gridfunction against to avoid errors.
author | Jonatan Werpers <jonatan@werpers.com> |
---|---|
date | Thu, 07 Sep 2017 09:16:12 +0200 |
parents | 5dad3b754c18 |
children |
rev | line source |
---|---|
165
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
1 function tests = reshapeRowMajTest() |
161
73bc43c7379e
Added function for reshaping grid functions. Added size() method to structured grid.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
2 tests = functiontests(localfunctions); |
73bc43c7379e
Added function for reshaping grid functions. Added size() method to structured grid.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
3 end |
73bc43c7379e
Added function for reshaping grid functions. Added size() method to structured grid.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
4 |
73bc43c7379e
Added function for reshaping grid functions. Added size() method to structured grid.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
5 function test1D(testCase) |
165
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
6 in = { |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
7 {5,[1; 2; 3; 4; 5]}, |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
8 {5,[1 2 3 4 5]}, |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
9 }; |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
10 out = { |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
11 [1; 2; 3; 4; 5], |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
12 [1; 2; 3; 4; 5], |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
13 }; |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
14 for i = 1:length(in) |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
15 testCase.verifyEqual(reshapeRowMaj(in{i}{2}, in{i}{1}),out{i}); |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
16 end |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
17 end |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
18 |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
19 |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
20 function testIdentity(testCase) |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
21 in = { |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
22 {[2,2], magic(2)}, |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
23 {[3,3], magic(3)}, |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
24 {[2,3], [1 2 3; 4 5 6]}, |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
25 }; |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
26 |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
27 for i = 1:length(in) |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
28 testCase.verifyEqual(reshapeRowMaj(in{i}{2}, in{i}{1}),in{i}{2}); |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
29 end |
161
73bc43c7379e
Added function for reshaping grid functions. Added size() method to structured grid.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
30 end |
73bc43c7379e
Added function for reshaping grid functions. Added size() method to structured grid.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
31 |
73bc43c7379e
Added function for reshaping grid functions. Added size() method to structured grid.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
32 function test2D(testCase) |
165
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
33 in = { |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
34 {[2,2],[11; 12; 21; 22]}, |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
35 {[3,2],[1 2 3; 4 5 6]}, |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
36 {[6 1],[1 2 3; 4 5 6]}, |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
37 {[1 6],[1 2 3; 4 5 6]}, |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
38 }; |
161
73bc43c7379e
Added function for reshaping grid functions. Added size() method to structured grid.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
39 |
165
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
40 out{1}(1,1) = 11; |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
41 out{1}(1,2) = 12; |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
42 out{1}(2,1) = 21; |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
43 out{1}(2,2) = 22; |
161
73bc43c7379e
Added function for reshaping grid functions. Added size() method to structured grid.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
44 |
165
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
45 out{2} = [1 2; 3 4; 5 6]; |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
46 out{3} = [1; 2; 3; 4; 5; 6]; |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
47 out{4} = [1 2 3 4 5 6]; |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
48 |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
49 for i = 1:length(in) |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
50 testCase.verifyEqual(reshapeRowMaj(in{i}{2}, in{i}{1}),out{i}); |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
51 end |
161
73bc43c7379e
Added function for reshaping grid functions. Added size() method to structured grid.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
52 end |
73bc43c7379e
Added function for reshaping grid functions. Added size() method to structured grid.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
53 |
73bc43c7379e
Added function for reshaping grid functions. Added size() method to structured grid.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
54 function test3D(testCase) |
165
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
55 in = { |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
56 {[2, 2, 2], [111; 112; 121; 122; 211; 212; 221; 222]}, |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
57 {[8 1], cat(3,[1 2; 3 4],[5 6; 7 8])}, |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
58 {[1 8], cat(3,[1 2; 3 4],[5 6; 7 8])}, |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
59 {[2 4], cat(3,[1 2; 3 4],[5 6; 7 8])}, |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
60 {[4 2], cat(3,[1 2; 3 4],[5 6; 7 8])}, |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
61 }; |
161
73bc43c7379e
Added function for reshaping grid functions. Added size() method to structured grid.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
62 |
165
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
63 out{1}(1,1,1) = 111; |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
64 out{1}(1,1,2) = 112; |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
65 out{1}(1,2,1) = 121; |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
66 out{1}(1,2,2) = 122; |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
67 out{1}(2,1,1) = 211; |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
68 out{1}(2,1,2) = 212; |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
69 out{1}(2,2,1) = 221; |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
70 out{1}(2,2,2) = 222; |
161
73bc43c7379e
Added function for reshaping grid functions. Added size() method to structured grid.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
71 |
165
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
72 out{2} = [1; 5; 2; 6; 3; 7; 4; 8]; |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
73 out{3} = [1 5 2 6 3 7 4 8]; |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
74 out{4} = [1 5 2 6; 3 7 4 8]; |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
75 out{5} = [1 5; 2 6; 3 7; 4 8]; |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
76 |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
77 for i = 1:length(in) |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
78 testCase.verifyEqual(reshapeRowMaj(in{i}{2}, in{i}{1}),out{i}); |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
79 end |
161
73bc43c7379e
Added function for reshaping grid functions. Added size() method to structured grid.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
80 end |
73bc43c7379e
Added function for reshaping grid functions. Added size() method to structured grid.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
81 |
73bc43c7379e
Added function for reshaping grid functions. Added size() method to structured grid.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
82 function testNonSquare(testCase) |
165
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
83 in = { |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
84 {[2, 3, 4],[111; 112; 113; 114; 121; 122; 123; 124; 131; 132; 133; 134; 211; 212; 213; 214; 221; 222; 223; 224; 231; 232; 233; 234]}, |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
85 }; |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
86 out{1}(1,1,1) = 111; |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
87 out{1}(1,1,2) = 112; |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
88 out{1}(1,1,3) = 113; |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
89 out{1}(1,1,4) = 114; |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
90 out{1}(1,2,1) = 121; |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
91 out{1}(1,2,2) = 122; |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
92 out{1}(1,2,3) = 123; |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
93 out{1}(1,2,4) = 124; |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
94 out{1}(1,3,1) = 131; |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
95 out{1}(1,3,2) = 132; |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
96 out{1}(1,3,3) = 133; |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
97 out{1}(1,3,4) = 134; |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
98 out{1}(2,1,1) = 211; |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
99 out{1}(2,1,2) = 212; |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
100 out{1}(2,1,3) = 213; |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
101 out{1}(2,1,4) = 214; |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
102 out{1}(2,2,1) = 221; |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
103 out{1}(2,2,2) = 222; |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
104 out{1}(2,2,3) = 223; |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
105 out{1}(2,2,4) = 224; |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
106 out{1}(2,3,1) = 231; |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
107 out{1}(2,3,2) = 232; |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
108 out{1}(2,3,3) = 233; |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
109 out{1}(2,3,4) = 234; |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
110 for i = 1:length(in) |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
111 testCase.verifyEqual(reshapeRowMaj(in{i}{2}, in{i}{1}),out{i}); |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
112 end |
161
73bc43c7379e
Added function for reshaping grid functions. Added size() method to structured grid.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
113 end |