File: cos.wip

package info (click to toggle)
wip 2p3-7
  • links: PTS
  • area: non-free
  • in suites: sarge
  • size: 3,192 kB
  • ctags: 893
  • sloc: ansic: 13,307; csh: 962; makefile: 122; sed: 92
file content (24 lines) | stat: -rw-r--r-- 1,145 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
define generate   # Usage: loop N generate; $1=Counter; $2=N; uses \9.
set $1 $1 + 1                # Increment the counter.
set \9 4 * pi * (((2 * \10) - $2) / ($2 - 1))
set x[$1] \9                 # Set x[i] equal to 4*pi*(((2*i)-N)/(N-1)).
set \9 abs(\9)               # \9 now equals abs(x).
set y[$1] cos(\9) / (1 + \9) # Set y[i] equal to cos(|x|) / (1 + |x|).
end

viewport 0.25 0.85 0.3 0.8   # Set the viewport scale.
expand 1.2                   # Set the character size.
font 2                       # Set the font type.
set \10 0                    # Initialize the counter.
loop 100 generate \10 100    # Fill the x and y arrays.
set \0 4 * pi                # Save 4 * pi.
limits -\0 \0 -0.5 1.2       # Set the limits as -4pi, 4pi, -0.5, 1.2.
box bcnst bcnstv             # Draw the box.
connect                      # Draw the curve.
symbol 2                     # Select the `+' symbol.
points                       # Draw the points.
expand 1.5                   # Set the character size a bit bigger.
mtext T 1.0 0.5 0.5 y = cos(|x|) / (1 + |x|)
expand 1.2                   # Reset the character size.
xlabel (x)
ylabel (y)