ロルの定理で導関数がゼロになる点を計算
このロルの定理計算機は、閉区間上の多項式について両端の値が等しいかを確認し、導関数を求め、開区間内で導関数がゼロになる点をすべて特定します。最も左の点を主な答えとして示し、ほかの有効な点も一覧に残します。端点条件を満たすと決めつけずに、演習の検算、解答例の作成、微積分問題の自動処理にお使いいただけます。
無料で実行
ロルの定理が保証する内容
ロルの定理は、関数が閉区間で連続であり、対応する開区間で微分可能であり、さらに両端で同じ値を取る場合に適用できます。多項式は連続性と微分可能性を自動的に満たすため、この計算で重要なのは f(a)=f(b) の確認です。この等式が成立すれば、a と b の間に f'(c)=0 となる数 c が少なくとも1つ存在します。幾何学的には、同じ高さにある2つの端点の間で、グラフに水平な接線が現れるという意味です。本計算機は区間が入力されたという理由だけで定理を適用せず、導関数を解く前に両端の値を評価します。値の差が大きさに応じた小さな数値許容範囲を超える場合は、入力エラーを返します。端点の値が異なっていても多項式に臨界点が存在することはありますが、その点は入力区間においてロルの定理が保証したものではありません。結果に共通の端点値を表示することで、結論の根拠となった条件も確認できるようにしています。
多項式の入力方法と結果の読み方
変数には x を使い、係数は小数で、べき乗は ^ を用いて入力してください。たとえば x^3 - 3x や 2x^4 - 8x^2 + 6 と記述できます。乗算記号は省略できるため、4*x と 4x は同じ意味です。指数には0以上の整数を指定し、次数は12まで扱えます。続いて interval_start と interval_end を入力し、左端が右端より小さくなるようにしてください。point には、有効な c のうち最も左にある値が表示されます。問題が「点」を1つ求める形式でも、一定した答えを得られます。points 配列には区間内で分離された導関数の異なる根がすべて入ります。ロルの定理が保証するのは存在であり、一意性ではないためです。各項目には丸めた点で評価した導関数も示されます。無理数の根を指定精度で丸めると、ごく小さな残差が表示される場合がありますが、解が誤りという意味ではありません。derivative_coefficients では、導関数の係数を次数の高い順に確認できます。
信頼できる内部点を求める仕組み
アルゴリズムは最初に同じ次数の項をまとめ、ホーナー法で多項式を評価します。次に入力係数から導関数を正確に構成し、その実根を再帰的に分離します。各導関数の根によって区間を分割すると、解く対象の多項式が単調になる区間が得られます。符号が変わる区間では回数を制限した二分法で根を絞り込み、停留点となる境界も個別に調べます。これにより、グラフがゼロを横切らずに接する重根も見落としません。採用するのは開区間の内部に厳密にある根だけであり、端点で導関数がゼロでも c には含めません。すべての反復回数、次数、入力長には上限があり、ネットワーク、乱数、時刻は使用しません。答案を作る際は、数値結果に加えて、f(a) と f(b) の計算、多項式の連続性と微分可能性、f' の導出、a<c<b の範囲での f'(c)=0 の解法を順に示してください。定理の仮定から結論までを明確に説明できます。
活用例
微積分の演習を検算
端点の値が等しいことを確認し、ご自身で求めた導関数のゼロ点を決定的な数値結果と比較できます。
複数の有効な点を確認
多項式が複数の解を持つ場合に、区間内にある導関数の根をすべて確認できます。
解答例の資料を作成
端点値、導関数の係数、内部点を使い、手順が明確な解答を準備できます。
よくある質問
計算料金はいくらですか?
ブラウザーでは無料で実行できます。API の1回のリクエストは $0.002 です。
端点の値が等しい必要があるのはなぜですか?
端点値の一致は定理の仮定です。一致しなくても臨界点は存在し得ますが、その区間でロルの定理による保証はありません。
複数の点が表示されるのはなぜですか?
定理は少なくとも1点の存在を保証しますが、1点だけとは限りません。導関数が区間内に複数の実根を持つ場合があります。
区間の端点も答えに含まれますか?
含まれません。c は開区間内になければならないため、端点ちょうどにある導関数のゼロ点は除外します。
どのような多項式表記に対応していますか?
x、小数係数、正負記号、^ を使った0以上の整数べきに対応します。乗算記号は省略でき、最大次数は12です。
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/calculus/rolle-theorem-point \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"polynomial":"x^2 - 4x + 3","interval_start":1,"interval_end":3}'const res = await fetch("https://api.kit.forhosting.com/calculus/rolle-theorem-point", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"polynomial": "x^2 - 4x + 3",
"interval_start": 1,
"interval_end": 3
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/calculus/rolle-theorem-point",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"polynomial": "x^2 - 4x + 3",
"interval_start": 1,
"interval_end": 3
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/calculus/rolle-theorem-point", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"polynomial":"x^2 - 4x + 3","interval_start":1,"interval_end":3}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"polynomial":"x^2 - 4x + 3","interval_start":1,"interval_end":3}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/calculus/rolle-theorem-point", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"polynomial": "x^2 - 4x + 3",
"interval_start": 1,
"interval_end": 3
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "calculus.rolle_theorem_point",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
制限
max_degree | 12 |
max_input_chars | 500 |
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |