微分・積分計算機

関数 f(x) を入力すると、1点での微分係数と2つの値の間の定積分を数値計算で求めます。

微分(1点での微分係数)

変数は x、三角関数はラジアンです。例:x^2 + 3x、sin(x)/x、e^(-x^2)、sqrt(1-x^2)

定積分

変数は x、三角関数はラジアンです。例:x^2 + 3x、sin(x)/x、e^(-x^2)、sqrt(1-x^2)

数値、pi、e を使えます。無限大は inf または -inf と入力します。

使い方

  • x を変数として f(x) を入力します。例:x^2 + 3x - sin(x)/2。入力に合わせて結果が更新されます。
  • 微分:点 x₀ を入力すると、関数の値 f(x₀)、1階微分 f′(x₀)、2階微分 f″(x₀) を表示します。
  • 定積分:下端 a と上端 b を入力します。数値のほか pi/2 のような定数の式も使え、無限大は inf、-inf または ∞ と書きます。
  • 積分値には推定誤差(±)も表示されます。a が b より大きいと符号が逆になり、a = b なら 0 になります。
  • 結果は有効数字最大12桁の数値的な近似値です。導関数や不定積分の式は表示しません。

微分係数の求め方

微分係数は接線の傾きで、定義は f′(x₀) = lim(h→0) (f(x₀ + h) − f(x₀))/h です。コンピューターでは h を 0 まで小さくできないため、両側の傾きを平均する中心差分 (f(x₀ + h) − f(x₀ − h))/(2h) を使います。片側だけの差分より誤差がずっと小さくなります。

2階微分は (f(x₀ + h) − 2f(x₀) + f(x₀ − h))/h² で求めます。どちらも h を少しずつ小さくしながら何度も計算し、リチャードソン補外(Ridders の方法)で主な誤差項を打ち消して、推定誤差が最も小さい値を選びます。推定誤差より小さい桁は切り捨てるため、1e-14 のようなノイズは 0 と表示されます。

計算の前に左右の傾きを比べます。|x| の x = 0 のように折れ曲がる点や、sqrt(x) の x = 0 のように片側でしか定義されない点では「計算できません」と表示します。

定積分の求め方

定積分 ∫ₐᵇ f(x) dx は、a から b までのグラフと x 軸の間の面積を符号付きで足した値です。x 軸より上の面積はプラス、下の面積はマイナスとして数えます。

計算には適応型ガウス・クロンロッド求積を使います。小区間ごとに決められた15点で f(x) を計算し、7点ガウス公式と15点クロンロッド公式の結果の差を誤差とみなします。誤差が最も大きい小区間を半分に分ける操作を、誤差の合計が結果の10⁻¹²倍程度(または丸め誤差の限界)以下になるまで、最大1000区間まで繰り返します。

無限区間は x = a + t/(1 − t) のような変数変換で有限区間に移してから計算します。区間の端点では関数を計算しないので、0 から 1 までの 1/√x のように端点だけで無限大になる関数も積分できます。

計算例(ステップごと)

ページを開いたときに入っている例を、手計算でたどってみます。

  • x³ の x₀ = 1 での微分 ①:h = 0.1 のとき中心差分は (1.1³ − 0.9³)/0.2 = (1.331 − 0.729)/0.2 = 3.01 です。
  • ② h = 0.05 のときは (1.157625 − 0.857375)/0.1 = 3.0025 です。誤差が h² に比例して小さくなる性質を使い、(4 × 3.0025 − 3.01)/3 と組み合わせるとちょうど 3 になります。これがリチャードソン補外の考え方で、実際 f′(x) = 3x² なので f′(1) = 3 です。
  • ③ 2階微分:(1.331 − 2 × 1 + 0.729)/0.1² = 0.06/0.01 = 6 で、f″(x) = 6x から求めた f″(1) = 6 と一致します。計算機は f(1) = 1、f′(1) = 3、f″(1) = 6 を表示します。
  • x² を 0 から 3 まで積分:不定積分は x³/3 なので正確な値は 3³/3 − 0 = 9 です。計算機も 9 とごく小さな推定誤差を表示します。
  • 不定積分を式で表せない関数も数値積分できます。∫₀¹ e^(−x²) dx ≈ 0.746824132812 で、e^(−x²) を −∞ から ∞ まで積分すると √π ≈ 1.77245385091 です。

入力のルールとよくある間違い

  • 三角関数はラジアンです。sin(30) は 0.5 ではなく約 −0.988 になります。度で計算するには pi/180 を掛けて sin(30pi/180) = 0.5 のように書きます。
  • 関数にはかっこが必要です。sin x ではなく sin(x) と書きます。sin^2(x) は (sin x)² の意味で、逆関数は sin^-1(x) ではなく asin(x) と書きます。
  • e は常にネイピア数(2.718…)なので、1e-6 は 1·e − 6 ≈ −3.28 と読まれます。0.000001 は 10^-6 と書きます。
  • −x^2 は −(x²)、2^3^2 は 2^9 = 512、1/2x は (1/2)·x です。2x で割るときは 1/(2x) と書きます。
  • 掛け算の記号は 2x、2(x+1)、x sin(x) のように省略できます。ln は自然対数、log は常用対数です。使える関数:sin、cos、tan、cot、sec、csc、asin、acos、atan、sinh、cosh、tanh、asinh、acosh、atanh、ln、log、log10、log2、sqrt、cbrt、abs または |x|、exp

よくある質問

導関数や不定積分の式も求められますか?

いいえ、数値の結果だけを求めます。1点での微分係数と2つの値の間の定積分を数値計算で求めるもので、3x² や x³/3 のような式は表示しません。

計算結果はどのくらい正確ですか?

通常は有効数字10桁以上が正しく、最大12桁まで表示します。定積分には推定誤差(±)も表示され、なめらかでない関数では精度が落ちることがあります。

無限区間の広義積分も計算できますか?

はい、積分区間に inf、-inf または ∞ を入力します。たとえば 1/x² を 1 から inf まで積分すると 1、e^(−x²) を -inf から inf まで積分すると √π ≈ 1.77245385091 です。

「積分が発散する可能性があります」「収束しませんでした」と出るのはなぜですか?

面積が有限の値に近づかないか、区間内で f(x) が無限大になるか定義されないためです。たとえば ∫₀¹ 1/x dx や sin(x) を 0 から inf まで積分した値は収束しませんが、∫₀¹ 1/√x dx = 2 は収束します。

微分が「計算できません」と表示されるのはどんなときですか?

その点で微分係数が存在しないときです。|x| の x = 0 のように折れ曲がる点や、sqrt(x) の x = 0 のように片側でしか定義されない点が該当し、1階微分がなければ2階微分も表示しません。

角度を度で入力できますか?

いいえ、三角関数は常にラジアンです。度の値に pi/180 を掛けて cos(60pi/180) = 0.5 のように入力してください。

1e-6 のような指数表記はどう書けばいいですか?

10^-6 または 0.000001 と書いてください。この計算機では e は常にネイピア数なので、1e-6 は 1·e − 6 ≈ −3.28 と計算されます。