この計算ツールでできること
このツールは、指定したxの範囲にわたって指数関数 \(y = f(x)\) の数表を作成します。関数の種類は3つから選べます。自然指数関数 \(e^x\)(底はネイピア数 \(e\)、約2.7182818)、10のべき乗 \(10^x\)、そして任意の正の底を自分で指定する \(a^x\) です。結果は \((x, y)\) の2列で見やすく表示され、そのまま確認・コピー・グラフ化に利用できます。
使い方
まずプルダウンから関数を選びます。\(a^x\) を選んだ場合は底 \(a\) を入力してください(x が分数のときでも実数になるよう、a は 0 より大きい値にする必要があります)。次に「x の範囲(始点)」と「x の範囲(終点)」でxの範囲を指定し、刻み幅(増分)を入力します。さらに表示する有効桁数を選び、計算ボタンを押すと数表が表示されます。
計算式の解説
\(e^x\) の場合は \(y = \exp(x)\) で計算します。\(10^x\) の場合は \(y = \operatorname{pow}(10, x)\) です。一般の底 \(a^x\) の場合は \(y = \operatorname{pow}(a, x)\) で求めますが、これは数学的に $$y = a^x = e^{x \ln a}$$ と等しくなります。各行の x は \(x_i = x_{\text{Min}} + i \times \text{step}\) として、繰り返し足し算するのではなくインデックス \(i\) から算出しています。これにより浮動小数点の誤差の蓄積を防ぎ、最後の行が \(x_{\text{Max}}\) にきれいに(またはほぼ正確に)収まります。行数は \(\min(301, \lfloor (x_{\text{Max}} - x_{\text{Min}}) / \text{step} \rfloor + 1)\) で、最大301行という上限により、刻み幅を細かくしすぎても表が長くなりすぎないようになっています。
計算例
\(e^x\) を選び、x を −2 から 3 まで、刻み幅を 1 にした場合、各行は次のようになります。\(x = -2\) のとき \(y = 0.135335\)、\(x = -1\) のとき \(y = 0.367879\)、\(x = 0\) のとき \(y = 1\)、\(x = 1\) のとき \(y = 2.718282\)、\(x = 2\) のとき \(y = 7.389056\)、\(x = 3\) のとき \(y = 20.085537\)(有効桁数6桁で表示)。また \(a^x\) で底を 2 とすると、\(x = 10\) のとき $$2^{10} = 1024$$ になります。
よくある質問
なぜ底 a は正の数でなければならないのですか? 指数が整数でない場合、負の底をべき乗すると複素数(非実数)になってしまうため、本ツールでは \(a > 0\) を必須としています。
x が大きいと Infinity(無限大)と表示されるのはなぜですか? 倍精度演算ではオーバーフローが発生します。\(e^x\) は \(x > 709\) あたりで表現可能な範囲を超えるため、その値は Infinity として表示されます。
有効桁数の設定は計算結果そのものを変えますか? いいえ。設定は表示される y の値を丸める桁数に影響するだけで、内部計算は常に倍精度(フル精度)で行われます。