# HG changeset patch # User Ben Abbott # Date 1298595951 18000 # Node ID 009068efc66dd3d93835fa136542b4cba49d5e16 # Parent 26d3164fd58d8c1f69eebb7d48c2dbfe33593595 Properly evaluate zeroth order polynomials. diff --git a/scripts/ChangeLog b/scripts/ChangeLog --- a/scripts/ChangeLog +++ b/scripts/ChangeLog @@ -1,3 +1,7 @@ +2011-02-24 Robert T. Short + + * polynomial/polyval.m: Properly evaluate constant polynomials. + 2011-02-24 John W. Eaton * strings/strchr.m: Avoid implicit string to number conversion. diff --git a/scripts/polynomial/polyval.m b/scripts/polynomial/polyval.m --- a/scripts/polynomial/polyval.m +++ b/scripts/polynomial/polyval.m @@ -69,7 +69,7 @@ n = length (p) - 1; x = (x - mu(1)) / mu(2); - y = p(1); + y = p(1) * ones (size (x(:))); for i = 2:n+1 y = y .* x(:) + p(i); endfor @@ -128,3 +128,19 @@ %! x = reshape(x, [1, 1, 5, 2]); %! assert (x, polyval(p,x), eps) +%!test +%! p = [1]; +%! x = 1:10; +%! y = ones(size(x)); +%! assert (y, polyval(p,x), eps) +%! x = x(:); +%! y = ones(size(x)); +%! assert (y, polyval(p,x), eps) +%! x = reshape(x, [2, 5]); +%! y = ones(size(x)); +%! assert (y, polyval(p,x), eps) +%! x = reshape(x, [5, 2]); +%! y = ones(size(x)); +%! assert (y, polyval(p,x), eps) +%! x = reshape(x, [1, 1, 5, 2]); +