このツールでできること
このツールは、指定したxの範囲にわたって対数関数の数値表とグラフを作成します。底をeとする自然対数 \(\ln(x)\)、底を10とする常用対数 \(\log(x)\)、そして任意の底aを使った対数 \(\log_a(x)\) の3種類から選べます。開始値から終了値まで一定の刻み幅でxを変化させながら \(y = f(x)\) を計算し、\((x, y)\) の組を一覧表示するとともに、得られた曲線をグラフに描画します。
使い方
まずプルダウンから関数を選びます。\(\log_a(x)\) を選んだ場合は、底aを入力してください(aは0より大きく、かつ1以外である必要があります)。次に「xの範囲(開始)」「xの範囲(終了)」と「刻み幅」を設定し、表示する有効桁数を指定します。計算は範囲内を順に進みますが、xが0または負の値のときは対数が定義されないため、その行はスキップされます。動作を軽快に保つため、表は最大301行までに制限されています。
計算式
自然対数 \(y = \ln(x)\) は \(e^x\) の逆関数です。常用対数は $$y = \log_{10}(x) = \frac{\ln(x)}{\ln(10)}$$ で求められます。任意の底aについては、底の変換公式により $$\log_a(x) = \frac{\ln(x)}{\ln(a)}, \quad a>0,\ a\neq 1$$ となります。内部処理では Math.log が自然対数、Math.log10 が底10の対数に対応します。a = 1 のときは \(\ln(a) = 0\) となり0で割ることになってしまうため、底をちょうど1にすることはできません。
計算例
\(\log_a(x)\) を選び、a = 2、xを1から8まで刻み幅1で計算してみましょう。底の変換公式により次の値が得られます。\(\log_2(1)=0\)、\(\log_2(2)=1\)、\(\log_2(3)=1.584963\)、\(\log_2(4)=2\)、\(\log_2(5)=2.321928\)、\(\log_2(6)=2.584963\)、\(\log_2(7)=2.807355\)、\(\log_2(8)=3\)。すべてのxが正の値なので8行すべてが定義され、表は8行、グラフには8点がプロットされます。最初の点は \((1, 0)\) です。
よくある質問
x = 0 が「未定義」と表示されるのはなぜですか? 0の対数は負の無限大に発散し、負の数の対数は実数として存在しません。そのため、これらの行は未定義として扱われ、グラフには描画されません。y軸は垂直漸近線のように振る舞います。
底を分数(小数)にできますか? はい、できます。\(0 < a < 1\) を満たす値(例:0.5)はすべて有効で、減少する曲線が得られます。使えないのは a = 1 と \(a \le 0\) の場合だけです。
「有効桁数」を変えると何が変わりますか? これは表に表示される桁数だけを調整するものです。計算自体は常に倍精度(double)のフル精度で行われます。