Mercurial > repos > public > sbplib
annotate diracDiscrTest.m @ 1232:52d774e69b1f feature/dirac_discr
Clean up diracDiscr, remove obsolete tests.
author | Vidar Stiernström <vidar.stiernstrom@it.uu.se> |
---|---|
date | Tue, 19 Nov 2019 13:54:41 -0800 |
parents | 86ee5648e384 |
children | f1806475498b |
rev | line source |
---|---|
1229
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
1 function tests = diracDiscrTest() |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
2 tests = functiontests(localfunctions); |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
3 end |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
4 |
1232
52d774e69b1f
Clean up diracDiscr, remove obsolete tests.
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
1229
diff
changeset
|
5 %TODO: Test discretizing with smoothness conditions. |
52d774e69b1f
Clean up diracDiscr, remove obsolete tests.
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
1229
diff
changeset
|
6 % Only discretization with moment conditions currently tested. |
1229
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
7 |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
8 function testLeftRandom(testCase) |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
9 |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
10 orders = [2, 4, 6]; |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
11 mom_conds = orders; |
1232
52d774e69b1f
Clean up diracDiscr, remove obsolete tests.
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
1229
diff
changeset
|
12 rng(0xDABBAD00) % Set seed. Jabba-dabba-doooo! |
1229
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
13 |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
14 for o = 1:length(orders) |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
15 order = orders(o); |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
16 mom_cond = mom_conds(o); |
1232
52d774e69b1f
Clean up diracDiscr, remove obsolete tests.
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
1229
diff
changeset
|
17 [xl, ~, h, x, H, fs] = setup1D(order, mom_cond); |
1229
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
18 |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
19 % Test random points near left boundary |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
20 x0s = xl + 2*h*rand(1,10); |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
21 |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
22 for j = 1:length(fs) |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
23 f = fs{j}; |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
24 fx = f(x); |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
25 for i = 1:length(x0s) |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
26 x0 = x0s(i); |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
27 delta = diracDiscr(x0, x, mom_cond, 0, H); |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
28 integral = delta'*H*fx; |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
29 err = abs(integral - f(x0)); |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
30 testCase.verifyLessThan(err, 1e-12); |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
31 end |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
32 end |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
33 end |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
34 end |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
35 |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
36 function testRightRandom(testCase) |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
37 |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
38 orders = [2, 4, 6]; |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
39 mom_conds = orders; |
1232
52d774e69b1f
Clean up diracDiscr, remove obsolete tests.
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
1229
diff
changeset
|
40 rng(0xDABBAD00) % Set seed. Jabba-dabba-doooo! |
1229
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
41 |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
42 for o = 1:length(orders) |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
43 order = orders(o); |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
44 mom_cond = mom_conds(o); |
1232
52d774e69b1f
Clean up diracDiscr, remove obsolete tests.
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
1229
diff
changeset
|
45 [~, xr, h, x, H, fs] = setup1D(order, mom_cond); |
1229
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
46 |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
47 % Test random points near right boundary |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
48 x0s = xr - 2*h*rand(1,10); |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
49 |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
50 for j = 1:length(fs) |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
51 f = fs{j}; |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
52 fx = f(x); |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
53 for i = 1:length(x0s) |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
54 x0 = x0s(i); |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
55 delta = diracDiscr(x0, x, mom_cond, 0, H); |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
56 integral = delta'*H*fx; |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
57 err = abs(integral - f(x0)); |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
58 testCase.verifyLessThan(err, 1e-12); |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
59 end |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
60 end |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
61 end |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
62 end |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
63 |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
64 function testInteriorRandom(testCase) |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
65 |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
66 orders = [2, 4, 6]; |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
67 mom_conds = orders; |
1232
52d774e69b1f
Clean up diracDiscr, remove obsolete tests.
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
1229
diff
changeset
|
68 rng(0xDABBAD00) % Set seed. Jabba-dabba-doooo! |
1229
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
69 |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
70 for o = 1:length(orders) |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
71 order = orders(o); |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
72 mom_cond = mom_conds(o); |
1232
52d774e69b1f
Clean up diracDiscr, remove obsolete tests.
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
1229
diff
changeset
|
73 [xl, xr, h, x, H, fs] = setup1D(order, mom_cond); |
1229
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
74 |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
75 % Test random points in interior |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
76 x0s = (xl+2*h) + (xr-xl-4*h)*rand(1,20); |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
77 |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
78 for j = 1:length(fs) |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
79 f = fs{j}; |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
80 fx = f(x); |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
81 for i = 1:length(x0s) |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
82 x0 = x0s(i); |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
83 delta = diracDiscr(x0, x, mom_cond, 0, H); |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
84 integral = delta'*H*fx; |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
85 err = abs(integral - f(x0)); |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
86 testCase.verifyLessThan(err, 1e-12); |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
87 end |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
88 end |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
89 end |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
90 end |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
91 |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
92 % x0 outside grid should yield 0 integral! |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
93 function testX0OutsideGrid(testCase) |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
94 |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
95 orders = [2, 4, 6]; |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
96 mom_conds = orders; |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
97 |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
98 for o = 1:length(orders) |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
99 order = orders(o); |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
100 mom_cond = mom_conds(o); |
1232
52d774e69b1f
Clean up diracDiscr, remove obsolete tests.
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
1229
diff
changeset
|
101 [xl, xr, h, x, H, fs] = setup1D(order, mom_cond); |
1229
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
102 |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
103 % Test points outisde grid |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
104 x0s = [xl-1.1*h, xr+1.1*h]; |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
105 |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
106 for j = 1:length(fs) |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
107 f = fs{j}; |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
108 fx = f(x); |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
109 for i = 1:length(x0s) |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
110 x0 = x0s(i); |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
111 delta = diracDiscr(x0, x, mom_cond, 0, H); |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
112 integral = delta'*H*fx; |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
113 err = abs(integral - 0); |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
114 testCase.verifyLessThan(err, 1e-12); |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
115 end |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
116 end |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
117 end |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
118 end |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
119 |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
120 function testAllGP(testCase) |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
121 |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
122 orders = [2, 4, 6]; |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
123 mom_conds = orders; |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
124 |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
125 for o = 1:length(orders) |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
126 order = orders(o); |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
127 mom_cond = mom_conds(o); |
1232
52d774e69b1f
Clean up diracDiscr, remove obsolete tests.
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
1229
diff
changeset
|
128 [~, ~, ~, x, H, fs] = setup1D(order, mom_cond); |
1229
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
129 |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
130 % Test all grid points |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
131 x0s = x; |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
132 |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
133 for j = 1:length(fs) |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
134 f = fs{j}; |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
135 fx = f(x); |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
136 for i = 1:length(x0s) |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
137 x0 = x0s(i); |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
138 delta = diracDiscr(x0, x, mom_cond, 0, H); |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
139 integral = delta'*H*fx; |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
140 err = abs(integral - f(x0)); |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
141 testCase.verifyLessThan(err, 1e-12); |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
142 end |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
143 end |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
144 end |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
145 end |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
146 |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
147 function testHalfGP(testCase) |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
148 |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
149 orders = [2, 4, 6]; |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
150 mom_conds = orders; |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
151 |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
152 for o = 1:length(orders) |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
153 order = orders(o); |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
154 mom_cond = mom_conds(o); |
1232
52d774e69b1f
Clean up diracDiscr, remove obsolete tests.
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
1229
diff
changeset
|
155 [~, ~, ~, x, H, fs] = setup1D(order, mom_cond); |
1229
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
156 |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
157 % Test halfway between all grid points |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
158 x0s = 1/2*( x(2:end)+x(1:end-1) ); |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
159 |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
160 for j = 1:length(fs) |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
161 f = fs{j}; |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
162 fx = f(x); |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
163 for i = 1:length(x0s) |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
164 x0 = x0s(i); |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
165 delta = diracDiscr(x0, x, mom_cond, 0, H); |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
166 integral = delta'*H*fx; |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
167 err = abs(integral - f(x0)); |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
168 testCase.verifyLessThan(err, 1e-12); |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
169 end |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
170 end |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
171 end |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
172 end |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
173 |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
174 %=============== 2D tests ============================== |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
175 function testAllGP2D(testCase) |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
176 |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
177 orders = [2, 4, 6]; |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
178 mom_conds = orders; |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
179 |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
180 for o = 1:length(orders) |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
181 order = orders(o); |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
182 mom_cond = mom_conds(o); |
1232
52d774e69b1f
Clean up diracDiscr, remove obsolete tests.
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
1229
diff
changeset
|
183 [~, ~, x, X, ~, H, fs] = setup2D(order, mom_cond); |
1229
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
184 H_global = kron(H{1}, H{2}); |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
185 |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
186 % Test all grid points |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
187 x0s = X; |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
188 |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
189 for j = 1:length(fs) |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
190 f = fs{j}; |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
191 fx = f(X(:,1), X(:,2)); |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
192 for i = 1:length(x0s) |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
193 x0 = x0s(i,:); |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
194 delta = diracDiscr(x0, x, mom_cond, 0, H); |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
195 integral = delta'*H_global*fx; |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
196 err = abs(integral - f(x0(1), x0(2))); |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
197 testCase.verifyLessThan(err, 1e-12); |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
198 end |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
199 end |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
200 end |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
201 end |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
202 |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
203 function testAllRandom2D(testCase) |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
204 |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
205 orders = [2, 4, 6]; |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
206 mom_conds = orders; |
1232
52d774e69b1f
Clean up diracDiscr, remove obsolete tests.
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
1229
diff
changeset
|
207 rng(0xDABBAD00) % Set seed. Jabba-dabba-doooo! |
1229
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
208 |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
209 for o = 1:length(orders) |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
210 order = orders(o); |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
211 mom_cond = mom_conds(o); |
1232
52d774e69b1f
Clean up diracDiscr, remove obsolete tests.
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
1229
diff
changeset
|
212 [xlims, ylims, x, X, h, H, fs] = setup2D(order, mom_cond); |
1229
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
213 H_global = kron(H{1}, H{2}); |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
214 |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
215 xl = xlims{1}; |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
216 xr = xlims{2}; |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
217 yl = ylims{1}; |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
218 yr = ylims{2}; |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
219 |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
220 % Test random points, even outside grid |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
221 Npoints = 100; |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
222 x0s = [(xl-3*h{1}) + (xr-xl+6*h{1})*rand(Npoints,1), ... |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
223 (yl-3*h{2}) + (yr-yl+6*h{2})*rand(Npoints,1) ]; |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
224 |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
225 for j = 1:length(fs) |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
226 f = fs{j}; |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
227 fx = f(X(:,1), X(:,2)); |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
228 for i = 1:length(x0s) |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
229 x0 = x0s(i,:); |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
230 delta = diracDiscr(x0, x, mom_cond, 0, H); |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
231 integral = delta'*H_global*fx; |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
232 |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
233 % Integral should be 0 if point is outside grid |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
234 if x0(1) < xl || x0(1) > xr || x0(2) < yl || x0(2) > yr |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
235 err = abs(integral - 0); |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
236 else |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
237 err = abs(integral - f(x0(1), x0(2))); |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
238 end |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
239 testCase.verifyLessThan(err, 1e-12); |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
240 end |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
241 end |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
242 end |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
243 end |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
244 |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
245 %=============== 3D tests ============================== |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
246 function testAllGP3D(testCase) |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
247 |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
248 orders = [2, 4, 6]; |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
249 mom_conds = orders; |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
250 |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
251 for o = 1:length(orders) |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
252 order = orders(o); |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
253 mom_cond = mom_conds(o); |
1232
52d774e69b1f
Clean up diracDiscr, remove obsolete tests.
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
1229
diff
changeset
|
254 [~, ~, ~, x, X, ~, H, fs] = setup3D(order, mom_cond); |
1229
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
255 H_global = kron(kron(H{1}, H{2}), H{3}); |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
256 |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
257 % Test all grid points |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
258 x0s = X; |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
259 |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
260 for j = 1:length(fs) |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
261 f = fs{j}; |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
262 fx = f(X(:,1), X(:,2), X(:,3)); |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
263 for i = 1:length(x0s) |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
264 x0 = x0s(i,:); |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
265 delta = diracDiscr(x0, x, mom_cond, 0, H); |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
266 integral = delta'*H_global*fx; |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
267 err = abs(integral - f(x0(1), x0(2), x0(3))); |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
268 testCase.verifyLessThan(err, 1e-12); |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
269 end |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
270 end |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
271 end |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
272 end |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
273 |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
274 function testAllRandom3D(testCase) |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
275 |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
276 orders = [2, 4, 6]; |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
277 mom_conds = orders; |
1232
52d774e69b1f
Clean up diracDiscr, remove obsolete tests.
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
1229
diff
changeset
|
278 rng(0xDABBAD00) % Set seed. Jabba-dabba-doooo! |
1229
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
279 |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
280 for o = 1:length(orders) |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
281 order = orders(o); |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
282 mom_cond = mom_conds(o); |
1232
52d774e69b1f
Clean up diracDiscr, remove obsolete tests.
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
1229
diff
changeset
|
283 [xlims, ylims, zlims, x, X, h, H, fs] = setup3D(order, mom_cond); |
1229
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
284 H_global = kron(kron(H{1}, H{2}), H{3}); |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
285 |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
286 xl = xlims{1}; |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
287 xr = xlims{2}; |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
288 yl = ylims{1}; |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
289 yr = ylims{2}; |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
290 zl = zlims{1}; |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
291 zr = zlims{2}; |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
292 |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
293 % Test random points, even outside grid |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
294 Npoints = 200; |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
295 x0s = [(xl-3*h{1}) + (xr-xl+6*h{1})*rand(Npoints,1), ... |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
296 (yl-3*h{2}) + (yr-yl+6*h{2})*rand(Npoints,1), ... |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
297 (zl-3*h{3}) + (zr-zl+6*h{3})*rand(Npoints,1) ]; |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
298 |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
299 for j = 1:length(fs) |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
300 f = fs{j}; |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
301 fx = f(X(:,1), X(:,2), X(:,3)); |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
302 for i = 1:length(x0s) |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
303 x0 = x0s(i,:); |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
304 delta = diracDiscr(x0, x, mom_cond, 0, H); |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
305 integral = delta'*H_global*fx; |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
306 |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
307 % Integral should be 0 if point is outside grid |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
308 if x0(1) < xl || x0(1) > xr || x0(2) < yl || x0(2) > yr || x0(3) < zl || x0(3) > zr |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
309 err = abs(integral - 0); |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
310 else |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
311 err = abs(integral - f(x0(1), x0(2), x0(3))); |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
312 end |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
313 testCase.verifyLessThan(err, 1e-12); |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
314 end |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
315 end |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
316 end |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
317 end |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
318 |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
319 |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
320 % ====================================================== |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
321 % ============== Setup functions ======================= |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
322 % ====================================================== |
1232
52d774e69b1f
Clean up diracDiscr, remove obsolete tests.
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
1229
diff
changeset
|
323 function [xl, xr, h, x, H, fs] = setup1D(order, mom_cond) |
1229
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
324 |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
325 % Grid |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
326 xl = -3; |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
327 xr = 900; |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
328 L = xr-xl; |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
329 m = 101; |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
330 h = (xr-xl)/(m-1); |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
331 g = grid.equidistant(m, {xl, xr}); |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
332 x = g.points(); |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
333 |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
334 % Quadrature |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
335 ops = sbp.D2Standard(m, {xl, xr}, order); |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
336 H = ops.H; |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
337 |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
338 % Moment conditions |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
339 fs = cell(mom_cond,1); |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
340 for p = 0:mom_cond-1 |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
341 fs{p+1} = @(x) (x/L).^p; |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
342 end |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
343 |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
344 end |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
345 |
1232
52d774e69b1f
Clean up diracDiscr, remove obsolete tests.
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
1229
diff
changeset
|
346 function [xlims, ylims, x, X, h, H, fs] = setup2D(order, mom_cond) |
1229
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
347 |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
348 % Grid |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
349 xlims = {-3, 20}; |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
350 ylims = {-11,5}; |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
351 Lx = xlims{2} - xlims{1}; |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
352 Ly = ylims{2} - ylims{1}; |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
353 |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
354 m = [15, 16]; |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
355 g = grid.equidistant(m, xlims, ylims); |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
356 X = g.points(); |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
357 x = g.x; |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
358 |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
359 % Quadrature |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
360 opsx = sbp.D2Standard(m(1), xlims, order); |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
361 opsy = sbp.D2Standard(m(2), ylims, order); |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
362 Hx = opsx.H; |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
363 Hy = opsy.H; |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
364 H = {Hx, Hy}; |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
365 |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
366 % Moment conditions |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
367 fs = cell(mom_cond,1); |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
368 for p = 0:mom_cond-1 |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
369 fs{p+1} = @(x,y) (x/Lx + y/Ly).^p; |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
370 end |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
371 |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
372 % Grid spacing in interior |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
373 mm = round(m/2); |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
374 hx = x{1}(mm(1)+1) - x{1}(mm(1)); |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
375 hy = x{2}(mm(2)+1) - x{2}(mm(2)); |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
376 h = {hx, hy}; |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
377 |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
378 end |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
379 |
1232
52d774e69b1f
Clean up diracDiscr, remove obsolete tests.
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
1229
diff
changeset
|
380 function [xlims, ylims, zlims, x, X, h, H, fs] = setup3D(order, mom_cond) |
1229
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
381 |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
382 % Grid |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
383 xlims = {-3, 20}; |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
384 ylims = {-11,5}; |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
385 zlims = {2,4}; |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
386 Lx = xlims{2} - xlims{1}; |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
387 Ly = ylims{2} - ylims{1}; |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
388 Lz = zlims{2} - zlims{1}; |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
389 |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
390 m = [13, 14, 15]; |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
391 g = grid.equidistant(m, xlims, ylims, zlims); |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
392 X = g.points(); |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
393 x = g.x; |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
394 |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
395 % Quadrature |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
396 opsx = sbp.D2Standard(m(1), xlims, order); |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
397 opsy = sbp.D2Standard(m(2), ylims, order); |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
398 opsz = sbp.D2Standard(m(3), zlims, order); |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
399 Hx = opsx.H; |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
400 Hy = opsy.H; |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
401 Hz = opsz.H; |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
402 H = {Hx, Hy, Hz}; |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
403 |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
404 % Moment conditions |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
405 fs = cell(mom_cond,1); |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
406 for p = 0:mom_cond-1 |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
407 fs{p+1} = @(x,y,z) (x/Lx + y/Ly + z/Lz).^p; |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
408 end |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
409 |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
410 % Grid spacing in interior |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
411 mm = round(m/2); |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
412 hx = x{1}(mm(1)+1) - x{1}(mm(1)); |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
413 hy = x{2}(mm(2)+1) - x{2}(mm(2)); |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
414 hz = x{3}(mm(3)+1) - x{3}(mm(3)); |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
415 h = {hx, hy, hz}; |
86ee5648e384
Add multi-d dirac discretization with tests
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
416 |
1232
52d774e69b1f
Clean up diracDiscr, remove obsolete tests.
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
1229
diff
changeset
|
417 end |