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