今回は組み込み用途にarctanを使うためにテーブルを利用した実装を考えてみます.
ただ単に定義域を等分割してテーブルを作るのではおもしろくないのでもう少し工夫
をしてみます.
=====================基本===========================
ある関数 f(x)を区間[a,b]で考えテーブル化したい
====================================================
1. 区間[a,b]を等分割
====================もうちょっと工夫================
ある関数 f(x)を区間[a,b]で考えテーブル化するときに,
テーブルの幅をf(x)の2階微分の値に応じて変えてみる.
2階微分は関数の傾きの変化率なのでこれが小さいほど
線形近似の精度をあげるのに必要な分割数が減る.
====================================================
===================
arctan(x)でやってみた
===================
あとは16区間毎に普通に線形近似する. ただし, arctan(x)のxが大きくなったときの値はPI/2に収束するので適当なところで打ち切る.