Шукати в цьому блозі

Показ дописів із міткою cos. Показати всі дописи
Показ дописів із міткою cos. Показати всі дописи

пʼятниця, 11 березня 2016 р.

bash та sin, cos, тощо…

Рецепти для bash-а. Може кому знадобиться, от як мені…
function sin(){ echo "scale=10; s($1*a(1)/45);" | bc -l; }
function cos(){ echo "scale=10; c($1*a(1)/45);" | bc -l; }
function tan(){ echo "scale=10; arg=$1*a(1)/45; s(arg)/c(arg);" | bc -l; }
function ln(){ echo "scale=10; l($1);" | bc -l; }
function log(){ echo "scale=10; l($1)/l(10);" | bc -l; }
Правда народ ще більше страждає… ряди розписує:
function sin()
{
  if [ $# != 2 ]
  then
    echo "FAIL" >&2
    return 2
  fi

  result=$1
  x=$1
  n=1
  fact=1
  for k in `seq 2 $2`
  do
    x=$(( $x * $1 * $1 ))
    n=$(( $n + 2 ))
    fact=$(( (-1.0) * $fact * ($n - 1) * $n ))
    result=$(( $result + $x / $fact ))
  done
  echo $result
}