組み込みC/C++

C/C++リテラシー向上のためのページ

2014-02-01から1ヶ月間の記事一覧

対数関数( log )の数値的解法

今回は対数の数値的解法を整理しておこうと思います。まずは自然対数です。 テーラー展開での解法となりますが、ただ \(log(x)\) では0近傍でのテーラー展開ができませんので、工夫のためとりあえず\(log(1+x)\)及び、\(log(1-x)\)を展開します。 \begin{al…

平方根( sqrt )の数値的解法③

既に平方根の計算方法として最も有用なニュートン法を紹介していますが、その他にも興味深い方法がありますので紹介しておきます。 <テーラー展開> 平方根の計算方法としては難がありますが、計算機科学はテーラー展開の発見なしには語れません。\( sin(x)…

平方根( sqrt )の数値的解法②

引き続き平方根の数値的解法を見ていきたいと思います。ここではニュートン法での解法をまとめておきます。ほかの方法よりも収束が早く平方根の解法としてmath.hで定義されているのがニュートン法です。 <ニュートン法> ニュートン法も二分法と同じく平方…

平方根( sqrt )の数値的解法①

math.h で定義されている初等関数の数値計算に関してまとめておこうかと思います。(必ずしもmath.hで定義されているものと同じとは限りませんので注意ください)まずは一番初歩的な平方根( sqrt )の解法を幾つか紹介します。 <二分法> 平方根を方程式の問題と…

doubleを掘り下げる

doubleの中身を確認し整理しておこうと思います。浮動小数点演算標準としてIEEE754で定義されていますが、少し難解な印象があります。まず前提としてすべての実数\(x\)は \begin{align*} x=(-1)^{(2-\delta)} \cdot \alpha \cdot 2 ^n \tag{1}\end{align*} …