File: contour.cat

package info (click to toggle)
scilab 2.6-4
  • links: PTS
  • area: non-free
  • in suites: woody
  • size: 54,632 kB
  • ctags: 40,267
  • sloc: ansic: 267,851; fortran: 166,549; sh: 10,005; makefile: 4,119; tcl: 1,070; cpp: 233; csh: 143; asm: 135; perl: 130; java: 39
file content (142 lines) | stat: -rw-r--r-- 5,581 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
contour           Scilab Group           Scilab Function            contour
NAME
   contour - level curves on a 3D surface
  
CALLING SEQUENCE
 contour(x,y,z,nz,[theta,alpha,leg,flag,ebox,zlev])
 contour(x,y,z,nz,<opt_args>)
PARAMETERS
 x,y    : two real row vectors of size n1 and n2.
        
 z      : real matrix of size (n1,n2), the values of the function.
        
 nz     : the level values or the number of levels.
        
       -   If nz is an integer, its value gives the number of level curves
            equally spaced from zmin to zmax as follows:
           
           z= zmin + (1:nz)*(zmax-zmin)/(nz+1)
          Note that the zmin and zmax levels are not drawn  (generically
           they are reduced to points) but they can be added  with 
           
           [im,jm] = find(z == zmin);     // or zmax 
           plot2d(x(im)',y(jm)',-9,"000")
       -   If nz is a vector, nz(i) gives the value of the ith level
           curve. Note that it can be useful in order to see zmin and  
           zmax level curves to add an epsilon tolerance: nz=[
           zmin+%eps,..,zmax-%eps].
           
 <opt_args>
         : a sequence of statements key1=value1, key2=value2, ... where keys may
        be theta,alpha,leg, flag, ebox,zlev (see below). In this case, the
        order has no special meaning.
        
 theta, alpha
         : real values giving in degree the spherical coordinates of  the
        observation point.
        
 leg    : string defining the captions for each axis with @ as a field
        separator, for example "X@Y@Z".
        
 flag   : a real vector of size three flag=[mode,type,box].
        
       mode  : string (treatment of hidden parts).
             
            mode>0
                             the hidden parts of the surface are removed and the surface is
                 painted  with color mode.
                 
            mode=0
                             the hidden parts of the surface are drawn.
                 
            mode<0
                             only the shadow of the surface is painted with color or
                 pattern id -mode. Use xset() to see the meaning of the
                 ids.
                 
       type  : an integer (scaling).
             
            type=0   the plot is made using the current 3D scaling (set by
                     a previous call to param3d, plot3d, contour or
                     plot3d1).
                     
            type=1   rescales automatically 3d boxes with extreme aspect
                     ratios, the boundaries are specified by the value of
                     the optional argument ebox.
                     
            type=2   rescales automatically 3d boxes with extreme aspect
                     ratios, the boundaries are computed using the given
                     data.
                     
            type=3   3d isometric with box bounds given by optional ebox,
                     similarily to type=1
                     
            type=4   3d isometric bounds  derived from the data, to
                     similarilytype=2
                     
            type=5   3d expanded isometric bounds  with box bounds given
                     by optional ebox, similarily to type=1
                     
            type=6   3d expanded isometric bounds  derived from the data,
                     similarily to type=2
                     
       box   : an integer (frame around the plot).
             
            box=0
                             nothing is drawn around the plot.
                 
            box=1
                             unimplemented (like box=0).
                 
            box=2
                             only the axes behind the surface are drawn.
                 
            box=3
                             a box surrounding the surface is drawn and captions are added.
                 
            box=4
                             a box surrounding the surface is drawn, captions and axes are
                 added.
                 
 ebox   : used when type in flag is 1. It specifies the boundaries of the
        plot as the vector [xmin,xmax,ymin,ymax,zmin,zmax].
        
 zlev   : real number.
        
DESCRIPTION
   contour draws level curves of a surface z=f(x,y). The level curves are
  drawn on a 3D surface. The optional arguments are the same as for the
  function  plot3d (except zlev) and their meanings are the same.  They
  control the drawing of level curves on a 3D plot. Only flag(1)=mode has a
  special meaning.
  
 mode=0   : the level curves are drawn on the surface defined by (x,y,z).
          
 mode=1   : the level curves are drawn on a 3D plot and on the plan
          defined by  the equation z=zlev.
          
 mode=2   : the level curves are drawn on a 2D plot.
          
    You can change the format of the floating point number printed on the
  levels by using xset("fpf",string) where string gives the  format in C
  format syntax (for example string="%.3f"). Use  string="" to switch back
  to default format.
  
   Usually we use contour2d to draw levels curves on a 2D plot.  Enter the
  command contour() to see a demo.
  
EXAMPLE
 t=%pi*[-10:10]/10;
 deff("[z]=surf(x,y)","z=sin(x)*cos(y)"); z=feval(t,t,surf);
 rect=[-%pi,%pi,-%pi,%pi,-1,1];
 contour(t,t,z,10,35,45," ",[0,1,0],rect)
 // changing the format of the printing of the levels
 xset("fpf","%.2f")
 xbasc()
 contour(t,t,z,10,flag=[0,1,0],ebox=rect)
SEE ALSO
   contour2d, fcontour, fcontour2d, plot3d, xset
  
AUTHOR
   J.Ph.C.