# HG changeset patch # User Gunnar Farneback # Date 1287687695 -7200 # Node ID 850f8d9ec27c7adc498dddef99939d6b2c098fad # Parent 05c3645e99b321e59dd7f08437933748cf60b188 New tests for interp2. diff -r 05c3645e99b3 -r 850f8d9ec27c scripts/ChangeLog --- a/scripts/ChangeLog Thu Oct 21 21:01:12 2010 +0200 +++ b/scripts/ChangeLog Thu Oct 21 21:01:35 2010 +0200 @@ -1,3 +1,7 @@ +2010-10-21 Gunnar Farneback + + * general/interp2: New tests. + 2010-10-19 John W. Eaton * strings/module.mk (strings_FCN_FILES): Include diff -r 05c3645e99b3 -r 850f8d9ec27c scripts/general/interp2.m --- a/scripts/general/interp2.m Thu Oct 21 21:01:12 2010 +0200 +++ b/scripts/general/interp2.m Thu Oct 21 21:01:35 2010 +0200 @@ -589,3 +589,71 @@ %! X = meshgrid (1:4); %! assert (interp2 (X, 2.5, 2.5, 'nearest'), 3); +%!test % rectangular Z; Xi, Yi aligned vectors +%! Z = (1:4)' * (1:5); +%! Xi = [1.2 4.7]; +%! Yi = [1.8 2.3]; +%! Zi_nearest = [2 10]; +%! Zi = [2.16 10.81]; +%! assert(interp2(Z, Xi, Yi, 'nearest'), Zi_nearest) +%! assert(interp2(Z, Xi, Yi, 'linear'), Zi, -eps) +%! assert(interp2(Z, Xi, Yi, 'pchip'), Zi, -eps) +%! assert(interp2(Z, Xi, Yi, 'cubic'), Zi, -eps) +%! assert(interp2(Z, Xi, Yi, 'spline'), Zi, -eps) +%! assert(interp2(Z, Xi', Yi', 'nearest'), Zi_nearest') +%! assert(interp2(Z, Xi', Yi', 'linear'), Zi', -eps) +%! assert(interp2(Z, Xi', Yi', 'pchip'), Zi', -eps) +%! assert(interp2(Z, Xi', Yi', 'cubic'), Zi', -eps) +%! assert(interp2(Z, Xi', Yi', 'spline'), Zi', -eps) + +%!test % rectangular Z; Xi, Yi unaligned vectors +%! Z = (1:4)' * (1:5); +%! Xi = [1.2 4.7]; +%! Yi = [1.8 2.3 3.1]; +%! Zi_nearest = [2 10 +%! 2 10 +%! 3 15]; +%! Zi = [2.16 8.46 +%! 2.76 10.81 +%! 3.72 14.57]; +%! assert(interp2(Z, Xi, Yi', 'nearest'), Zi_nearest) +%! assert(interp2(Z, Xi, Yi', 'linear'), Zi, -eps) +%! assert(interp2(Z, Xi, Yi', 'pchip'), Zi, -eps) +%! assert(interp2(Z, Xi, Yi', 'cubic'), Zi, -eps) +%! assert(interp2(Z, Xi, Yi', 'spline'), Zi, -eps) +%! assert(interp2(Z, Xi', Yi, 'nearest'), Zi_nearest) +%! assert(interp2(Z, Xi', Yi, 'linear'), Zi, -eps) +%! assert(interp2(Z, Xi', Yi, 'pchip'), Zi, -eps) +%! assert(interp2(Z, Xi', Yi, 'cubic'), Zi, -eps) +%! assert(interp2(Z, Xi', Yi, 'spline'), Zi, -eps) + +%!test % rectangular Z; Xi, Yi mixed scalar and vector +%! Z = (1:4)' * (1:5); +%! Xi = [1.2 4.7]; +%! Yi = [1.8 2.3 3.1]; +%! Zi_nearest = [2 10 +%! 2 10 +%! 3 15]; +%! Zi = [2.16 8.46 +%! 2.76 10.81 +%! 3.72 14.57]; +%! assert(interp2(Z, Xi(1), Yi, 'nearest'), Zi_nearest(:,1)) +%! assert(interp2(Z, Xi(1), Yi, 'linear'), Zi(:,1), -eps) +%! assert(interp2(Z, Xi(1), Yi, 'pchip'), Zi(:,1), -eps) +%! assert(interp2(Z, Xi(1), Yi, 'cubic'), Zi(:,1), -eps) +%! assert(interp2(Z, Xi(1), Yi, 'spline'), Zi(:,1), -eps) +%! assert(interp2(Z, Xi(1), Yi', 'nearest'), Zi_nearest(:,1)) +%! assert(interp2(Z, Xi(1), Yi', 'linear'), Zi(:,1), -eps) +%! assert(interp2(Z, Xi(1), Yi', 'pchip'), Zi(:,1), -eps) +%! assert(interp2(Z, Xi(1), Yi', 'cubic'), Zi(:,1), -eps) +%! assert(interp2(Z, Xi(1), Yi', 'spline'), Zi(:,1), -eps) +%! assert(interp2(Z, Xi, Yi(1), 'nearest'), Zi_nearest(1,:)) +%! assert(interp2(Z, Xi, Yi(1), 'linear'), Zi(1,:), -eps) +%! assert(interp2(Z, Xi, Yi(1), 'pchip'), Zi(1,:), -eps) +%! assert(interp2(Z, Xi, Yi(1), 'cubic'), Zi(1,:), -eps) +%! assert(interp2(Z, Xi, Yi(1), 'spline'), Zi(1,:), -eps) +%! assert(interp2(Z, Xi', Yi(1), 'nearest'), Zi_nearest(1,:)) +%! assert(interp2(Z, Xi', Yi(1), 'linear'), Zi(1,:), -eps) +%! assert(interp2(Z, Xi', Yi(1), 'pchip'), Zi(1,:), -eps) +%! assert(interp2(Z, Xi', Yi(1), 'cubic'), Zi(1,:), -eps) +%! assert(interp2(Z, Xi', Yi(1), 'spline'), Zi(1,:), -eps)