Mercurial > hg > octave-nkf
annotate scripts/sparse/spy.m @ 20038:9fc020886ae9
maint: Clean up m-files to follow Octave coding conventions.
Try to trim long lines to < 80 chars.
Use '##' for single line comments.
Use '(...)' around tests for if/elseif/switch/while.
Abut cell indexing operator '{' next to variable.
Abut array indexing operator '(' next to variable.
Use space between negation operator '!' and following expression.
Use two newlines between endfunction and start of %!test or %!demo code.
Remove unnecessary parens grouping between short-circuit operators.
Remove stray extra spaces (typos) between variables and assignment operators.
Remove stray extra spaces from ends of lines.
author | Rik <rik@octave.org> |
---|---|
date | Mon, 23 Feb 2015 14:54:39 -0800 |
parents | 4197fc428c7d |
children | df437a52bcaf |
rev | line source |
---|---|
19898
4197fc428c7d
maint: Update copyright notices for 2015.
John W. Eaton <jwe@octave.org>
parents:
19790
diff
changeset
|
1 ## Copyright (C) 1998-2015 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}) |
19004
53af80da6781
doc: Update documentation of sparse functions including seealso links.
Rik <rik@octave.org>
parents:
18827
diff
changeset
|
23 ## Plot the sparsity pattern of the sparse matrix @var{x}. |
19790
446c46af4b42
strip trailing whitespace from most source files
John W. Eaton <jwe@octave.org>
parents:
19004
diff
changeset
|
24 ## |
19004
53af80da6781
doc: Update documentation of sparse functions including seealso links.
Rik <rik@octave.org>
parents:
18827
diff
changeset
|
25 ## If the argument @var{markersize} is given as a scalar value, it is used to |
53af80da6781
doc: Update documentation of sparse functions including seealso links.
Rik <rik@octave.org>
parents:
18827
diff
changeset
|
26 ## determine the point size in the plot. If the string @var{line_spec} is |
53af80da6781
doc: Update documentation of sparse functions including seealso links.
Rik <rik@octave.org>
parents:
18827
diff
changeset
|
27 ## given it is passed to @code{plot} and determines the appearance of the plot. |
53af80da6781
doc: Update documentation of sparse functions including seealso links.
Rik <rik@octave.org>
parents:
18827
diff
changeset
|
28 ## @seealso{plot, gplot} |
5164 | 29 ## @end deftypefn |
30 | |
11587
c792872f8942
all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents:
11523
diff
changeset
|
31 function spy (x, varargin) |
6607 | 32 |
7125 | 33 if (nargin < 1) |
34 print_usage (); | |
35 endif | |
36 | |
6607 | 37 markersize = NaN; |
18827
3994a1c2b994
spy.m: Use nnz, not numel, to avoid overflowing octave_idx_type (bug #42116).
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
38 if (nnz (x) < 1000) |
8507 | 39 line_spec = "*"; |
6607 | 40 else |
8507 | 41 line_spec = "."; |
6607 | 42 endif |
8507 | 43 for i = 1:length (varargin) |
44 if (ischar (varargin{i})) | |
13692
9d7233ec8cbc
add only color change possibility in spy.m
Fotios Kasolis <fotios.kasolis@gmail.com>
parents:
13086
diff
changeset
|
45 if (length (varargin{i}) == 1) |
9d7233ec8cbc
add only color change possibility in spy.m
Fotios Kasolis <fotios.kasolis@gmail.com>
parents:
13086
diff
changeset
|
46 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
|
47 else |
9d7233ec8cbc
add only color change possibility in spy.m
Fotios Kasolis <fotios.kasolis@gmail.com>
parents:
13086
diff
changeset
|
48 line_spec = varargin{i}; |
9d7233ec8cbc
add only color change possibility in spy.m
Fotios Kasolis <fotios.kasolis@gmail.com>
parents:
13086
diff
changeset
|
49 endif |
6607 | 50 elseif (isscalar (varargin{i})) |
51 markersize = varargin{i}; | |
52 else | |
53 error ("spy: expected markersize or linespec"); | |
54 endif | |
55 endfor | |
6446 | 56 |
8507 | 57 [i, j, s] = find (x); |
58 [m, n] = size (x); | |
5164 | 59 |
6607 | 60 if (isnan (markersize)) |
8507 | 61 plot (j, i, line_spec); |
6446 | 62 else |
8507 | 63 plot (j, i, line_spec, "markersize", markersize); |
6446 | 64 endif |
5164 | 65 |
6674 | 66 axis ([0, n+1, 0, m+1], "ij"); |
5164 | 67 |
68 endfunction | |
13086
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 |
7015842c6562
codesprint: Add demo block for spy.m
Rik <octave@nomad.inbox5.com>
parents:
11587
diff
changeset
|
71 %!demo |
7015842c6562
codesprint: Add demo block for spy.m
Rik <octave@nomad.inbox5.com>
parents:
11587
diff
changeset
|
72 %! clf; |
7015842c6562
codesprint: Add demo block for spy.m
Rik <octave@nomad.inbox5.com>
parents:
11587
diff
changeset
|
73 %! spy (sprand (10,10, 0.2)); |
7015842c6562
codesprint: Add demo block for spy.m
Rik <octave@nomad.inbox5.com>
parents:
11587
diff
changeset
|
74 |
20038
9fc020886ae9
maint: Clean up m-files to follow Octave coding conventions.
Rik <rik@octave.org>
parents:
19898
diff
changeset
|
75 ## 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
|
76 %!assert (1) |
f3d52523cde1
Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
77 |