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
|
.PS
# Loglog.m4
gen_init
s_init(Loglog)
sinclude(tst.dim)
define(`rint',`sign(`$1')*int(abs(`$1')+.5)')
S:[
horiz = 4
vert = horiz*2/3
tmax = 10
tmin = 1
vmax = 100
vmin = 0.1
tic = 0.08
denv = log(vmax) - log(vmin)
denh = log(tmax) - log(tmin)
Origin: Here
define(`coord',
`Origin+((log(`$1')-log(tmin))/denh*horiz,(log(`$2')-log(vmin))/denv*vert)')
thinlines_
# Left axes and labels
psset_(linecolor=gray)
vm = log(vmin); if vm!=0 then { vm=rint(vm) }
vM = log(vmax); if vM!=0 then { vM=rint(vM) }
for i = vm to vM do {
move to coord(tmin,exp(i))
line right horiz
s_box(\sf %g,exp(i)) rjust at last line.start ifgpic(`-(0.05,0)')
if i < rint(log(vmax)) then {
for j = 2 to 9 do {
move to coord(tmin,j*exp(i))
line right horiz
if (j==2) || (j==5) then {
s_box(\sf %g,j*exp(i)) rjust at last line.start ifgpic(`-(0.05,0)') }
} } }
#Horizontal axis and labels
tm = log(tmin); if tm!=0 then { tm=rint(tm) }
tM = log(tmax); if tM!=0 then { tM=rint(tM) }
for t = tm to tM do {
move to coord(exp(t),vmin)
line up vert
s_box(\sf %g,exp(t)) below at last line.start ifgpic(`-(0,0.05)')
if t < rint(log(tmax)) then {
for j = 2 to 9 do { move to coord(j*exp(t),vmin)
line up vert
if (j==2) || (j==5) then {
s_box(\sf %g,j*exp(t)) below at last line.start ifgpic(`-(0,0.05)') }
} } }
psset_(linecolor=black)
# arrow from Origin up vert chop 0 chop -.1
line from Origin up vert
s_box($y(t)$) at Origin+(-.1,.5*vert) rjust
# arrow from Origin right horiz chop 0 chop -.1
line from Origin right horiz
s_box($t$) at Origin+(.5*horiz,-.1) below
thicklines_
alpha = 2.5
beta = 3.0
tm = max(tmin,(vmin/alpha)^(1/beta))
tM = min(tmax,(vmax/alpha)^(1/beta))
line from coord(tm,alpha*tm^beta) to coord(tM,alpha*tM^beta)
f_box(invis fill_(1),`$y(t) = %g\,t^{%g}$',alpha,beta) \
with .sw at coord(2.1,11)
alpha = 0.05
beta = 2.0
tm = max(tmin,(vmin/alpha)^(1/beta))
tM = min(tmax,(vmax/alpha)^(1/beta))
line from coord(tm,alpha*tm^beta) to coord(tM,alpha*tM^beta)
f_box(invis fill_(1),`$y(t) = %g\,t^{%g}$',alpha,beta) \
with .se at coord(4.6,1.1)
]
# box wid S.wid ht S.ht at S
# print (S.wid,S.ht)/(1 pc__)
.PE
|