annotate examples/code/polynomial2.m @ 33658:b1d6e40ac737 stable tip

NEWS.9.md: Fix typo and minor formatting changes. * etc/NEWS.9.md: Fix typo. Adjust whitespace. Use markdown syntax for code snippets.
author Markus Mützel <markus.muetzel@gmx.de>
date Wed, 05 Jun 2024 11:27:35 +0200
parents 28de41192f3c
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
23409
907f8c3e1c8d doc: new section about classdef classes with example (bug #44590).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
1 classdef polynomial2
907f8c3e1c8d doc: new section about classdef classes with example (bug #44590).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
2 properties
24359
1da659b26bec doc: grammarcheck of Object Oriented Programming chapter in manual.
Rik <rik@octave.org>
parents: 23409
diff changeset
3 poly = 0;
23409
907f8c3e1c8d doc: new section about classdef classes with example (bug #44590).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
4 endproperties
907f8c3e1c8d doc: new section about classdef classes with example (bug #44590).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
5
907f8c3e1c8d doc: new section about classdef classes with example (bug #44590).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
6 methods
907f8c3e1c8d doc: new section about classdef classes with example (bug #44590).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
7 function p = polynomial2 (a)
907f8c3e1c8d doc: new section about classdef classes with example (bug #44590).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
8 if (nargin == 1)
907f8c3e1c8d doc: new section about classdef classes with example (bug #44590).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
9 if (isa (a, "polynomial2"))
907f8c3e1c8d doc: new section about classdef classes with example (bug #44590).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
10 p.poly = a.poly;
907f8c3e1c8d doc: new section about classdef classes with example (bug #44590).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
11 elseif (isreal (a) && isvector (a))
907f8c3e1c8d doc: new section about classdef classes with example (bug #44590).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
12 p.poly = a(:).'; # force row vector
907f8c3e1c8d doc: new section about classdef classes with example (bug #44590).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
13 else
907f8c3e1c8d doc: new section about classdef classes with example (bug #44590).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
14 error ("polynomial2: A must be a real vector");
907f8c3e1c8d doc: new section about classdef classes with example (bug #44590).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
15 endif
907f8c3e1c8d doc: new section about classdef classes with example (bug #44590).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
16 endif
907f8c3e1c8d doc: new section about classdef classes with example (bug #44590).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
17 endfunction
907f8c3e1c8d doc: new section about classdef classes with example (bug #44590).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
18
907f8c3e1c8d doc: new section about classdef classes with example (bug #44590).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
19 function disp (p)
907f8c3e1c8d doc: new section about classdef classes with example (bug #44590).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
20 a = p.poly;
907f8c3e1c8d doc: new section about classdef classes with example (bug #44590).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
21 first = true;
907f8c3e1c8d doc: new section about classdef classes with example (bug #44590).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
22 for i = 1 : length (a);
907f8c3e1c8d doc: new section about classdef classes with example (bug #44590).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
23 if (a(i) != 0)
907f8c3e1c8d doc: new section about classdef classes with example (bug #44590).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
24 if (first)
907f8c3e1c8d doc: new section about classdef classes with example (bug #44590).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
25 first = false;
907f8c3e1c8d doc: new section about classdef classes with example (bug #44590).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
26 elseif (a(i) > 0 || isnan (a(i)))
907f8c3e1c8d doc: new section about classdef classes with example (bug #44590).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
27 printf (" +");
907f8c3e1c8d doc: new section about classdef classes with example (bug #44590).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
28 endif
907f8c3e1c8d doc: new section about classdef classes with example (bug #44590).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
29 if (a(i) < 0)
907f8c3e1c8d doc: new section about classdef classes with example (bug #44590).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
30 printf (" -");
907f8c3e1c8d doc: new section about classdef classes with example (bug #44590).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
31 endif
907f8c3e1c8d doc: new section about classdef classes with example (bug #44590).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
32 if (i == 1)
907f8c3e1c8d doc: new section about classdef classes with example (bug #44590).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
33 printf (" %.5g", abs (a(i)));
907f8c3e1c8d doc: new section about classdef classes with example (bug #44590).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
34 elseif (abs (a(i)) != 1)
907f8c3e1c8d doc: new section about classdef classes with example (bug #44590).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
35 printf (" %.5g *", abs (a(i)));
907f8c3e1c8d doc: new section about classdef classes with example (bug #44590).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
36 endif
907f8c3e1c8d doc: new section about classdef classes with example (bug #44590).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
37 if (i > 1)
907f8c3e1c8d doc: new section about classdef classes with example (bug #44590).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
38 printf (" X");
907f8c3e1c8d doc: new section about classdef classes with example (bug #44590).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
39 endif
907f8c3e1c8d doc: new section about classdef classes with example (bug #44590).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
40 if (i > 2)
907f8c3e1c8d doc: new section about classdef classes with example (bug #44590).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
41 printf (" ^ %d", i - 1);
907f8c3e1c8d doc: new section about classdef classes with example (bug #44590).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
42 endif
907f8c3e1c8d doc: new section about classdef classes with example (bug #44590).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
43 endif
907f8c3e1c8d doc: new section about classdef classes with example (bug #44590).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
44 endfor
907f8c3e1c8d doc: new section about classdef classes with example (bug #44590).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
45
907f8c3e1c8d doc: new section about classdef classes with example (bug #44590).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
46 if (first)
907f8c3e1c8d doc: new section about classdef classes with example (bug #44590).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
47 printf (" 0");
907f8c3e1c8d doc: new section about classdef classes with example (bug #44590).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
48 endif
907f8c3e1c8d doc: new section about classdef classes with example (bug #44590).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
49 printf ("\n");
907f8c3e1c8d doc: new section about classdef classes with example (bug #44590).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
50 endfunction
907f8c3e1c8d doc: new section about classdef classes with example (bug #44590).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
51 endmethods
907f8c3e1c8d doc: new section about classdef classes with example (bug #44590).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
52 endclassdef