Mercurial > octave-nkf
view examples/@polynomial/subsref.m @ 9285:226f6d001ee2
further improve the polynomial example, fix indexing
author | Jaroslav Hajek <highegg@gmail.com> |
---|---|
date | Tue, 02 Jun 2009 09:06:49 +0200 |
parents | 567e3e4ab74d |
children | bf6da2fbfa4e |
line wrap: on
line source
function b = subsref (a, s) if (isempty (s)) error ("polynomial: missing index"); endif switch (s(1).type) case "()" ind = s(1).subs; if (numel (ind) != 1) error ("polynomial: need exactly one index"); else b = polyval (fliplr (a.poly), ind{1}); endif case "{}" ind = s(1).subs; if (numel (ind) != 1) error ("polynomial: need exactly one index"); else b = a.poly(ind{1}+1); endif case "." fld = s.subs; if (strcmp (fld, "poly")) b = a.poly; else error ("@polynomial/subsref: invalid property \"%s\"", fld); endif otherwise error ("invalid subscript type"); endswitch if (numel (s) > 1) b = subsref (b, s(2:end)); endif endfunction