math post!

Aug 07, 2009 14:10

Because given awk atan2, it's relatively straightforward to "draw a simple triangle and derive the other inverse trig functions":

echo -1 -.9 -.8 -.7 -.6 -.5 -.4 -.3 -.2 -.1 0 .1 .2 .3 .4 .5 .6 .7 .8 .9 1 |
tr ' ' '\n' |
awk '{print sin($1)}' |
awk '{print atan2($1,sqrt(1-$1^2))}'

echo -1 -.9 -.8 -.7 -.6 -.5 -.4 -.3 -.2 -.1 0 .1 .2 .3 .4 .5 .6 .7 .8 .9 1 |
tr ' ' '\n' |
awk '{print cos($1)}' |
awk '{print atan2(sqrt(1-$1^2),$1)}'

echo -1 -.9 -.8 -.7 -.6 -.5 -.4 -.3 -.2 -.1 0 .1 .2 .3 .4 .5 .6 .7 .8 .9 1 |
tr ' ' '\n' |
awk '{print sin($1)/cos($1)}' |
awk '{print atan2($1,1)}'

echo -1 -.9 -.8 -.7 -.6 -.5 -.4 -.3 -.2 -.1 0 .1 .2 .3 .4 .5 .6 .7 .8 .9 1 |
tr ' ' '\n' |
awk '{print cos($1)/sin($1)}' |
awk '{print atan2(1,$1)}'

echo -1 -.9 -.8 -.7 -.6 -.5 -.4 -.3 -.2 -.1 0 .1 .2 .3 .4 .5 .6 .7 .8 .9 1 |
tr ' ' '\n' |
awk '{print 1/cos($1)}' |
awk '{print atan2(sqrt(1-1/$1^2),1/$1)}'

echo -1 -.9 -.8 -.7 -.6 -.5 -.4 -.3 -.2 -.1 0 .1 .2 .3 .4 .5 .6 .7 .8 .9 1 |
tr ' ' '\n' |
awk '{print 1/sin($1)}' |
awk '{print atan2(1/$1,sqrt(1-1/$1^2))}'

But I still managed to screw up the branch cuts.

Cut for length, repetition, math, and controversial content.

ETA: those last two were not so hot. Again:

echo -1 -.9 -.8 -.7 -.6 -.5 -.4 -.3 -.2 -.1 0 .1 .2 .3 .4 .5 .6 .7 .8 .9 1 |
tr ' ' '\n' |
awk '{print 1/cos($1)}' |
awk '{print atan2(sqrt($1^2-1),1)}'

echo -1 -.9 -.8 -.7 -.6 -.5 -.4 -.3 -.2 -.1 0 .1 .2 .3 .4 .5 .6 .7 .8 .9 1 |
tr ' ' '\n' |
awk '{print 1/sin($1)}' |
awk '{print atan2(1,sqrt($1^2-1))}'

scripting, arctan, acsc, arcsin, atan, asin, arcsec, awk, atan2, math, one liners, arccsc, nukees, bash, gawk, trigonometry, acos, asec, arccos

Previous post Next post
Up