blochの日記

自虐ネタ以外のぐちは書かないようにしましょう

Delphiにはtanhがない

Pのプログラムがヘボなので自前のFFTを使わざるを得なくなった件について(続き)。
後半部分をソフトランディングさせるために、フィルタを入れた、tanhである。
パラメタは中心x0と、幅Δで、(1−tanh[(x−x0)/Δ])/2 のように減衰させる。
で、問題はtanh。単純に指数関数で作ると、sma4winでも800くらいでエラーになる。
そこで、
(if x>0){return (1−e^−2x)/(1+e^−2x)}
else {return (−1+e^2x)/(1+e^+2x)}
のようにしなければならない。

何だか、SP-5030の世界、、、。