comparison scripts/general/del2.m @ 18621:aff86394c201

del2.m: Add %!tests (bug #42005). * del2.m: Add %!tests (bug #42005). * contributors.in: Add Allan Jacobs to list of contributors.
author Allan Jacobs <jacobsallanster@gmail.com>
date Thu, 03 Apr 2014 16:30:05 -0700
parents d63878346099
children
comparison
equal deleted inserted replaced
18606:0ede4dbb37f1 18621:aff86394c201
156 endfor 156 endfor
157 157
158 D = D ./ nd; 158 D = D ./ nd;
159 endfunction 159 endfunction
160 160
161
162 ## 3x3 constant test
163 %!test
164 %! a = ones (3,3);
165 %! b = del2 (a);
166 %! assert (b(:,1), [0.00;0.00;0.00]);
167 %! assert (b(:,2), [0.00;0.00;0.00]);
168 %! assert (b(:,3), [0.00;0.00;0.00]);
169
170 ## 3x3 planar test
171 %!test
172 %! a = [1,2,3;2,3,4;3,4,5];
173 %! b = del2 (a);
174 %! assert (b(:,1), [0.00;0.00;0.00]);
175 %! assert (b(:,2), [0.00;0.00;0.00]);
176 %! assert (b(:,3), [0.00;0.00;0.00]);
177
178 ## 3x3 corner test
179 %!test
180 %! a = zeros (3,3);
181 %! a(1,1) = 1.0;
182 %! b = 2*del2 (a);
183 %! assert (b(:,1), [1.00;0.50;0.50]);
184 %! assert (b(:,2), [0.50;0.00;0.00]);
185 %! assert (b(:,3), [0.50;0.00;0.00]);
186 %! assert (b, flipud (2*del2 (flipud (a))));
187 %! assert (b, fliplr (2*del2 (fliplr (a))));
188 %! assert (b, flipud (fliplr (2*del2 (fliplr (flipud (a))))));
189
190 ## 3x3 boundary test
191 %!test
192 %! a = zeros (3,3);
193 %! a(2,1)=1.0;
194 %! b = 2*del2 (a);
195 %! assert (b(:,1), [-1.00;-0.50;-1.00]);
196 %! assert (b(:,2), [0.00;0.50;0.00]);
197 %! assert (b(:,3), [0.00;0.50;0.00]);
198 %! assert (b, flipud (2*del2 (flipud (a))));
199 %! assert (b, fliplr (2*del2 (fliplr (a))));
200 %! assert (b, flipud (fliplr (2*del2 (fliplr (flipud (a))))));
201
202 ## 3x3 center test
203 %!test
204 %! a = zeros (3,3);
205 %! a(2,2) = 1.0;
206 %! b = del2 (a);
207 %! assert (b(:,1), [0.00;-0.50;0.00]);
208 %! assert (b(:,2), [-0.50;-1.00;-0.50]);
209 %! assert (b(:,3), [0.00;-0.50;0.00]);
210
211 ## 4x4 constant test
212 %!test
213 %! a = ones (4,4);
214 %! b = del2 (a);
215 %! assert (b(:,1), [0.00;0.00;0.00;0.00]);
216 %! assert (b(:,2), [0.00;0.00;0.00;0.00]);
217 %! assert (b(:,3), [0.00;0.00;0.00;0.00]);
218 %! assert (b(:,4), [0.00;0.00;0.00;0.00]);
219
220 ## 4x4 planar test
221 %!test
222 %! a = [1,2,3,4;2,3,4,5;3,4,5,6;4,5,6,7];
223 %! b = del2 (a);
224 %! assert (b(:,1), [0.00;0.00;0.00;0.00]);
225 %! assert (b(:,2), [0.00;0.00;0.00;0.00]);
226 %! assert (b(:,3), [0.00;0.00;0.00;0.00]);
227 %! assert (b(:,4), [0.00;0.00;0.00;0.00]);
228
229 ## 4x4 corner test
230 %!test
231 %! a = zeros (4,4);
232 %! a(1,1) = 1.0;
233 %! b = 2*del2 (a);
234 %! assert (b(:,1), [2.00;0.50;0.00;-0.50]);
235 %! assert (b(:,2), [0.50;0.00;0.00;0.00]);
236 %! assert (b(:,3), [0.00;0.00;0.00;0.00]);
237 %! assert (b(:,4), [-0.50;0.00;0.00;0.00]);
238 %! assert (b, flipud (2*del2 (flipud (a))));
239 %! assert (b, fliplr (2*del2 (fliplr (a))));
240 %! assert (b, flipud (fliplr (2*del2 (fliplr (flipud (a))))));
241
242 ## 9x9 center test
243 %!test
244 %! a = zeros (9,9);
245 %! a(5,5) = 1.0;
246 %! b = 2*del2 (a);
247 %! assert (b(:,1), [0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00]);
248 %! assert (b(:,2), [0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00]);
249 %! assert (b(:,3), [0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00]);
250 %! assert (b(:,4), [0.00;0.00;0.00;0.00;0.50;0.00;0.00;0.00;0.00]);
251 %! assert (b(:,5), [0.00;0.00;0.00;0.50;-2.00;0.50;0.00;0.00;0.00]);
252 %! assert (b(:,6), b(:,4));
253 %! assert (b(:,7), b(:,3));
254 %! assert (b(:,8), b(:,2));
255 %! assert (b(:,9), b(:,1));
256
257 ## 9x9 boundary test
258 %!test
259 %! a = zeros (9,9);
260 %! a(1,5) = 1.0;
261 %! b = 2*del2 (a);
262 %! assert (b(1,:), [0.00,0.00,0.00,0.50,0.00,0.50,0.00,0.00,0.00]);
263 %! assert (b(2,:), [0.00,0.00,0.00,0.00,0.50,0.00,0.00,0.00,0.00]);
264 %! assert (b(3:9,:), zeros (7,9));
265 %! a(1,5) = 0.0;
266 %! a(5,1) = 1.0;
267 %! b = 2*del2 (a);
268 %! assert (b(:,1), [0.00;0.00;0.00;0.50;0.00;0.50;0.00;0.00;0.00]);
269 %! assert (b(:,2), [0.00;0.00;0.00;0.00;0.50;0.00;0.00;0.00;0.00]);
270 %! assert (b(:,3:9), zeros (9,7));
271
272 ## 9x9 dh center test
273 %!test
274 %! a = zeros (9,9);
275 %! a(5,5) = 1.0;
276 %! b = 8*del2 (a,2);
277 %! assert (b(:,1:3), zeros (9,3));
278 %! assert (b(:,4), [0.00;0.00;0.00;0.00;0.50;0.00;0.00;0.00;0.00]);
279 %! assert (b(:,5), [0.00;0.00;0.00;0.50;-2.00;0.50;0.00;0.00;0.00]);
280 %! assert (b(:,6), b(:,4));
281 %! assert (b(:,7:9), zeros (9,3));
282
283 ## 9x9 dx test
284 %!test
285 %! a = zeros (9,9);
286 %! a(5,5) = 1.0;
287 %! b = 4*del2 (a,2,1);
288 %! assert (b(1:3,:), zeros (3,9));
289 %! assert (b(4,:), [0.00;0.00;0.00;0.00;1.00;0.00;0.00;0.00;0.00]');
290 %! assert (b(5,:), [0.00;0.00;0.00;0.25;-2.5;0.25;0.00;0.00;0.00]');
291 %! assert (b(6,:), b(4,:));
292 %! assert (b(7:9,:), zeros (3,9));
293
294 ## 9x9 dy test
295 %!test
296 %! a = zeros (9,9);
297 %! a(5,5) = 1.0;
298 %! b = 4*del2 (a,1,2);
299 %! assert (b(:,1:3), zeros (9,3));
300 %! assert (b(:,4), [0.00;0.00;0.00;0.00;1.00;0.00;0.00;0.00;0.00]);
301 %! assert (b(:,5), [0.00;0.00;0.00;0.25;-2.5;0.25;0.00;0.00;0.00]);
302 %! assert (b(:,6), b(:,4));
303 %! assert (b(:,7:9), zeros (9,3));
304
305 ## 3D test
306 %!test
307 %! a = zeros (9,9,9);
308 %! a(5,5,5) = 1.0;
309 %! b = 8*3*del2 (a,2);
310 %! assert (b(:,:,1:3), zeros (9,9,3));
311 %! assert (b(:,1:3,:), zeros (9,3,9));
312 %! assert (b(1:3,:,:), zeros (3,9,9));
313 %! assert (b(4:5,4,4), [0.0,0.0]');
314 %! assert (b(5,5,4), 1.00);
315 %! assert (b(4,4,5), 0.00);
316 %! assert (b(5,4,5), 1.00);
317 %! assert (b(5,5,5),-6.00);
318 %! assert (b, flipdim (b,1));
319 %! assert (b, flipdim (b,2));
320 %! assert (b, flipdim (b,3));
321