function prd2octv(args) *: prd2octv period k0 で周期を,waveletのオクターブに変換する.結果はresultに入る.見延 *usage: octv2prd period k0 * With given period, * This Grads Script returns an octave value corresponding to the given period, * in the case of k0=6. Notice if k0 is not equal to 6, this script returns * INAPPROPRIATE value. * function main(args) * ascale=2.^oscale; * period = ascale; * period = 2^oscale *(4*pi)/(k0 + sqrt(2 + k0^2)); * -> * 2^oscale=preiod/{(4*pi)/(k0 + sqrt(2 + k0^2))}=rh * oscale=log2(rh)=log(rh)/log(2) * period=subwrd(args,1) k0=subwrd(args,2) 'run sqrt '%2+k0*k0 rh=period/(4*3.1416/(k0+result)) 'run logn '%rh; num=result 'run logn 2'; den=result octave=num/den return octave