Mercurial > hg > octave-lyh
annotate scripts/sparse/spy.m @ 17194:c954b0a396a2
comet.m: Speed up animation by using low-level graphic commands.
* scripts/plot/comet.m: Speed up animation by using low-level graphic
commands.
author | Rik <rik@octave.org> |
---|---|
date | Mon, 05 Aug 2013 15:44:02 -0700 |
parents | f3d52523cde1 |
children |
rev | line source |
---|---|
14138
72c96de7a403
maint: update copyright notices for 2012
John W. Eaton <jwe@octave.org>
parents:
13692
diff
changeset
|
1 ## Copyright (C) 1998-2012 Andy Adler |
7016 | 2 ## |
3 ## This file is part of Octave. | |
5164 | 4 ## |
7016 | 5 ## Octave is free software; you can redistribute it and/or modify it |
6 ## under the terms of the GNU General Public License as published by | |
7 ## the Free Software Foundation; either version 3 of the License, or (at | |
8 ## your option) any later version. | |
5164 | 9 ## |
7016 | 10 ## Octave is distributed in the hope that it will be useful, but |
11 ## WITHOUT ANY WARRANTY; without even the implied warranty of | |
12 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
13 ## General Public License for more details. | |
5164 | 14 ## |
15 ## You should have received a copy of the GNU General Public License | |
7016 | 16 ## along with Octave; see the file COPYING. If not, see |
17 ## <http://www.gnu.org/licenses/>. | |
5164 | 18 |
19 ## -*- texinfo -*- | |
10793
be55736a0783
Grammarcheck the documentation from m-files.
Rik <octave@nomad.inbox5.com>
parents:
10714
diff
changeset
|
20 ## @deftypefn {Function File} {} spy (@var{x}) |
6607 | 21 ## @deftypefnx {Function File} {} spy (@dots{}, @var{markersize}) |
8507 | 22 ## @deftypefnx {Function File} {} spy (@dots{}, @var{line_spec}) |
9051
1bf0ce0930be
Grammar check TexInfo in all .m files
Rik <rdrider0-list@yahoo.com>
parents:
8920
diff
changeset
|
23 ## Plot the sparsity pattern of the sparse matrix @var{x}. If the argument |
13692
9d7233ec8cbc
add only color change possibility in spy.m
Fotios Kasolis <fotios.kasolis@gmail.com>
parents:
13086
diff
changeset
|
24 ## @var{markersize} is given as a scalar value, it is used to determine the |
9051
1bf0ce0930be
Grammar check TexInfo in all .m files
Rik <rdrider0-list@yahoo.com>
parents:
8920
diff
changeset
|
25 ## point size in the plot. If the string @var{line_spec} is given it is |
6607 | 26 ## passed to @code{plot} and determines the appearance of the plot. |
27 ## @seealso{plot} | |
5164 | 28 ## @end deftypefn |
29 | |
11587
c792872f8942
all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents:
11523
diff
changeset
|
30 function spy (x, varargin) |
6607 | 31 |
7125 | 32 if (nargin < 1) |
33 print_usage (); | |
34 endif | |
35 | |
6607 | 36 markersize = NaN; |
10714 | 37 if (numel (x) < 1000) |
8507 | 38 line_spec = "*"; |
6607 | 39 else |
8507 | 40 line_spec = "."; |
6607 | 41 endif |
8507 | 42 for i = 1:length (varargin) |
43 if (ischar (varargin{i})) | |
13692
9d7233ec8cbc
add only color change possibility in spy.m
Fotios Kasolis <fotios.kasolis@gmail.com>
parents:
13086
diff
changeset
|
44 if (length (varargin{i}) == 1) |
9d7233ec8cbc
add only color change possibility in spy.m
Fotios Kasolis <fotios.kasolis@gmail.com>
parents:
13086
diff
changeset
|
45 line_spec = [line_spec, varargin{i}]; |
9d7233ec8cbc
add only color change possibility in spy.m
Fotios Kasolis <fotios.kasolis@gmail.com>
parents:
13086
diff
changeset
|
46 else |
9d7233ec8cbc
add only color change possibility in spy.m
Fotios Kasolis <fotios.kasolis@gmail.com>
parents:
13086
diff
changeset
|
47 line_spec = varargin{i}; |
9d7233ec8cbc
add only color change possibility in spy.m
Fotios Kasolis <fotios.kasolis@gmail.com>
parents:
13086
diff
changeset
|
48 endif |
6607 | 49 elseif (isscalar (varargin{i})) |
50 markersize = varargin{i}; | |
51 else | |
52 error ("spy: expected markersize or linespec"); | |
53 endif | |
54 endfor | |
6446 | 55 |
8507 | 56 [i, j, s] = find (x); |
57 [m, n] = size (x); | |
5164 | 58 |
6607 | 59 if (isnan (markersize)) |
8507 | 60 plot (j, i, line_spec); |
6446 | 61 else |
8507 | 62 plot (j, i, line_spec, "markersize", markersize); |
6446 | 63 endif |
5164 | 64 |
6674 | 65 axis ([0, n+1, 0, m+1], "ij"); |
5164 | 66 |
67 endfunction | |
13086
7015842c6562
codesprint: Add demo block for spy.m
Rik <octave@nomad.inbox5.com>
parents:
11587
diff
changeset
|
68 |
7015842c6562
codesprint: Add demo block for spy.m
Rik <octave@nomad.inbox5.com>
parents:
11587
diff
changeset
|
69 |
7015842c6562
codesprint: Add demo block for spy.m
Rik <octave@nomad.inbox5.com>
parents:
11587
diff
changeset
|
70 %!demo |
7015842c6562
codesprint: Add demo block for spy.m
Rik <octave@nomad.inbox5.com>
parents:
11587
diff
changeset
|
71 %! clf; |
7015842c6562
codesprint: Add demo block for spy.m
Rik <octave@nomad.inbox5.com>
parents:
11587
diff
changeset
|
72 %! spy (sprand (10,10, 0.2)); |
7015842c6562
codesprint: Add demo block for spy.m
Rik <octave@nomad.inbox5.com>
parents:
11587
diff
changeset
|
73 |
7015842c6562
codesprint: Add demo block for spy.m
Rik <octave@nomad.inbox5.com>
parents:
11587
diff
changeset
|
74 %% Mark graphical function as tested by demo block |
14363
f3d52523cde1
Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
75 %!assert (1) |
f3d52523cde1
Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
76 |