Mercurial > octave
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 |
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 |