حاسبة الجذور بطريقة ستيفنسن
تقرّب حاسبة طريقة ستيفنسن صفراً لدالة حقيقية انطلاقاً من تخمين أولي واحد، من دون طلب مشتقتها.
شغّل الأداة مجانًا
أدخلوا عبارة f(x)، وحددوا قيمة البدء وشروط التوقف، فتحصلون على التقريب النهائي مع سجل كامل للتكرارات. تستخدم الطريقة تصحيحاً على نمط أيتكن مبنياً من f(x) وf(x + f(x))؛ وقد تحقق تقارباً تربيعياً قرب جذر بسيط مناسب باستعمال قيم الدالة وحدها. تلائم النتيجة المنظمة الدراسة والتحقق ومسارات الحساب العددي القابلة لإعادة الإنتاج.
أدخلوا الدالة وتخميناً أولياً مناسباً
اكتبوا الدالة في صورة عبارة بالمتغير x، مثل x^2 - 2 أو cos(x) - x أو exp(-x) - x. يجب إظهار الضرب صراحة، فاكتبوا 2*x لا 2x. يدعم المحلل الأعداد العشرية والصيغة العلمية والأقواس والعمليات + و- و* و/ والأسس بالرمز ^ والثابتين pi وe، ودوال ذات وسيط واحد مثل sin وcos وtan وexp وlog وlog10 وsqrt وabs. لا يشغل JavaScript ولا يقبل تعييناً مثل f(x)=. يجب أن تكون initial_guess قيمة منتهية قريبة بما يكفي من الجذر المطلوب. طريقة ستيفنسن مفتوحة؛ فهي لا تبدأ، مثل التنصيف، بفترة تضمن احتواء جذر. قد تقود قيم بدء مختلفة إلى جذور مختلفة أو نقطة شاذة أو خارج المجال المفيد. يساعد الرسم أو فحص الإشارات أو التقدير الرياضي في الاختيار. تضبط tolerance الباقي والحركة النسبية المقبولين، وتضع max_iterations حداً صارماً للحساب. اختاروا تسامحاً يلائم الدقة التي تبررها البيانات فعلاً.
افهموا تحديث ستيفنسن المستلهم من أيتكن
عند التقريب الحالي x، تحسب الأداة أولاً f(x)، ثم تحسب الدالة عند النقطة المزاحة x + f(x). يكون الفرق f(x + f(x)) - f(x) هو المقام، ويكون التقريب التالي x ناقص مربع f(x) مقسوماً على ذلك المقام. يمكن تفسير هذا البناء على أنه تسريع أيتكن لتكرار نقطة ثابتة، وهو يقارب أثر خطوة نيوتن من دون حساب f'(x). إذا كانت الدالة ملساء بما يكفي والجذر بسيطاً والبداية مناسبة، فعادة ما يكون التقارب المحلي تربيعياً، فتزداد الأرقام الصحيحة سريعاً قرب الحل. لكن ذلك ليس ضماناً شاملاً. المقام الصفري يجعل التحديث غير معرف، والمقام الضئيل قد يولد قفزة كبيرة. ترفض الحاسبة المقام الصفري تماماً وأي قيمة غير منتهية. يعرض كل صف في السجل x وf(x) والنقطة المزاحة وقيمة الدالة فيها والمقام والتقريب التالي وباقيه. وبذلك تستطيعون إعادة تطبيق الصيغة ومراقبة التسارع وتحديد التكرار الذي ظهرت فيه المشكلة بدقة.
اقرؤوا حالة التقارب وتحققوا من النتيجة
تصبح converged مساوية لـ true عندما لا يتجاوز الباقي الجديد tolerance، أو عندما تكون الخطوة صغيرة قياساً إلى مقدار التقريب الجديد. يحتوي root وf_root على آخر تقريب وباقيه المحسوب، ويعد iterations التحديثات المكتملة. إذا حققت قيمة البدء اختبار الباقي أصلاً، تعاد صفر تكرارات وسجل فارغ. وإذا بلغ الحساب الحد الأقصى، تبقى converged مساوية لـ false وتعيد الأداة آخر تقريب منتهٍ والسجل كله؛ فلا تعرض نفاد التكرارات بوصفه نجاحاً. افحصوا f_root دائماً، لأن الركود العددي قد يصغر الخطوة من دون أن يجعل الباقي كافياً. في الأعمال المهمة، عوضوا الجذر في الصيغة الأصلية بصورة مستقلة، وأعيدوا التشغيل من قيمة قريبة، وقارنوا بطريقة حاصرة متى أمكن. قد تخفض الجذور المتعددة رتبة التقارب، وقد تمنعه الانقطاعات والمجالات المقيدة والمناطق المسطحة وسوء القياس. كما تحد حسابات الفاصلة العائمة من الدقة المفيدة. هذه حاسبة عددية شفافة وليست برهاناً على وجود الجذر أو تفرده أو حد مضمون للخطأ؛ فتلك الاستنتاجات تحتاج تحليلاً مستقلاً للاستمرارية والمشتقات والفترات والتكييف.
حالات الاستخدام
مراجعة تمرين في التحليل العددي
قارنوا كل تحديث لا يستخدم مشتقة بحسابكم اليدوي، وافحصوا باقي الجذر المعاد.
حل معادلة غير خطية في نموذج
أوجدوا صفراً منتهياً حين تتوافر قيم الدالة لكن اشتقاق المشتقة أو برمجتها غير ملائم.
اختبار الحساسية لقيمة البدء
شغلوا العبارة نفسها من تخمينات متقاربة لدراسة مجالات الجذب وسرعة التقارب وأنماط الفشل.
الأسئلة الشائعة
ما تكلفة طلب API؟
يكلف كل طلب API مقدار $0.002. وتشغل نسخة المتصفح المحلل الحتمي نفسه محلياً.
هل تحتاج طريقة ستيفنسن إلى مشتقة؟
لا. يستخدم كل تحديث قيم الدالة عند التقريب الحالي ونقطة مزاحة والتقريب الناتج.
هل التقارب التربيعي مضمون؟
لا. إنه وصف محلي يتطلب نعومة مناسبة وجذراً بسيطاً وبداية ملائمة، وقد تفشل المسائل الصعبة.
لماذا أصبح المقام صفراً؟
تساوت قيمتا الدالة المستعملتان في فرق المقام، فأصبح التصحيح غير معرف. جربوا بداية أو طريقة أخرى.
ماذا يحدث عند بلوغ حد التكرارات؟
تكون converged مساوية لـ false، وتعيد الأداة آخر تقريب منتهٍ والباقي والسجل لأغراض التشخيص.
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/calculus/steffensen-method \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"expression":"x^2 - 2","initial_guess":1}'const res = await fetch("https://api.kit.forhosting.com/calculus/steffensen-method", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"expression": "x^2 - 2",
"initial_guess": 1
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/calculus/steffensen-method",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"expression": "x^2 - 2",
"initial_guess": 1
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/calculus/steffensen-method", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"expression":"x^2 - 2","initial_guess":1}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"expression":"x^2 - 2","initial_guess":1}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/calculus/steffensen-method", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"expression": "x^2 - 2",
"initial_guess": 1
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "calculus.steffensen_method",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الحدود
max_expression_chars | 500 |
max_iterations | 10000 |
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |