Mercurial > octave
view examples/code/polynomial2.m @ 28216:f5644ccd1df5
griddata.m, griddatan.m: Small tweak in input validation.
* griddata.m: Only call tolower on METHOD input when it is required.
* griddatan.m: Only call tolower on METHOD input when it is required.
Add note to documentation that query values outside the convex hull
will return NaN.
author | Rik <rik@octave.org> |
---|---|
date | Mon, 13 Apr 2020 18:19:41 -0700 |
parents | 1da659b26bec |
children | 28de41192f3c |
line wrap: on
line source
classdef polynomial2 properties poly = 0; endproperties methods function p = polynomial2 (a) if (nargin > 1) print_usage (); endif if (nargin == 1) if (isa (a, "polynomial2")) p.poly = a.poly; elseif (isreal (a) && isvector (a)) p.poly = a(:).'; # force row vector else error ("polynomial2: A must be a real vector"); endif endif endfunction function disp (p) a = p.poly; first = true; for i = 1 : length (a); if (a(i) != 0) if (first) first = false; elseif (a(i) > 0 || isnan (a(i))) printf (" +"); endif if (a(i) < 0) printf (" -"); endif if (i == 1) printf (" %.5g", abs (a(i))); elseif (abs (a(i)) != 1) printf (" %.5g *", abs (a(i))); endif if (i > 1) printf (" X"); endif if (i > 2) printf (" ^ %d", i - 1); endif endif endfor if (first) printf (" 0"); endif printf ("\n"); endfunction endmethods endclassdef