ما الذي تقوم به هذه الحاسبة
تحل هذه الأداة عدديًا معادلة تفاضلية عادية من الرتبة الأولى على الصورة \(y' = F(x, y)\) مع شرط ابتدائي معطى \(y(x_0) = y_0\)، على المجال الممتد من \(x_0\) إلى \(x_n\). وتعتمد على طريقة رونغ-كوتا الكلاسيكية من الرتبة الرابعة (RK4)، وهي واحدة من أكثر طرق التكامل أحادية الخطوة استخدامًا وموثوقية في التحليل العددي. النتيجة عبارة عن جدول من النقاط \((x_i, y_i)\) يقرّب الحل الحقيقي، إضافة إلى القيمة النهائية \(y(x_n)\). هذه أداة رياضية بحتة لا ترتبط بأي بلد أو وحدات قياس معيّنة.
طريقة الاستخدام
أدخل الطرف الأيمن \(F(x,y)\) كعبارة بدلالة x وy (على سبيل المثال 1-y^2 أو x+y أو x*y أو sin(x)+y). العمليات المدعومة هي + - * / ^ والدوال مثل sin, cos, tan, exp, log, ln, sqrt, abs, tanh، إضافة إلى الثابتين pi وe. حدّد قيمة البداية \(x_0\) والقيمة الابتدائية \(y_0\) وقيمة النهاية \(x_n\)، ثم اختر عدد التقسيمات المتساوية \(n\) التي تريد استخدامها. كلما زاد عدد التقسيمات ارتفعت الدقة، لأن الخطأ الكلي لطريقة RK4 يتناقص بمقدار \(h^4\).
شرح الصيغة
يُقسَّم المجال إلى \(n\) خطوة متساوية بعرض \(h = \dfrac{x_n - x_0}{n}\). في كل خطوة تأخذ طريقة RK4 عيّنة من الميل أربع مرات: مرة عند البداية (\(k_1\))، ومرتين عند نقطة المنتصف (\(k_2\) و\(k_3\))، ومرة عند النهاية (\(k_4\)). وتُحسب القيمة التالية كمتوسط مرجّح،
$$y_{n+1} = y_n + \frac{h}{6}\left(k_1 + 2k_2 + 2k_3 + k_4\right)$$هذا يلغي حدود الخطأ حتى الرتبة الرابعة، فيكون الخطأ المحلي للاقتطاع من المرتبة \(O(h^5)\) والخطأ الكلي من المرتبة \(O(h^4)\).
مثال محلول
لنحلّ المعادلة \(y' = 1 - y^2\) بحيث \(x_0 = 0\) و\(y_0 = 0\) و\(x_n = 1\) و\(n = 10\) (أي \(h = 0.1\)). الحل الدقيق هو \(y = \tanh(x)\). تعطي الخطوة الأولى في RK4 القيمة \(y_1 = 0.0996679\)، وهي مطابقة لـ \(\tanh(0.1) = 0.0996680\). وبعد إتمام الخطوات العشر جميعها نحصل على \(y(1) = 0.7615942\)، وهي تطابق \(\tanh(1) = 0.7615942\) حتى سبع منازل عشرية.
الأسئلة الشائعة
لماذا تتفوق طريقة RK4 على طريقة أويلر؟ تستخدم طريقة أويلر ميلًا واحدًا في كل خطوة (خطأ من الرتبة \(O(h)\))، بينما تستخدم RK4 أربعة ميول وتأخذ متوسطها، فتبلغ دقة من الرتبة \(O(h^4)\) لنفس حجم الخطوة، وبذلك تحتاج إلى عدد أقل بكثير من الخطوات لبلوغ دقة مطلوبة.
كم عدد الخطوات الذي ينبغي اختياره؟ ابدأ بـ 50. إذا كان الحل سلسًا فهذا العدد كافٍ غالبًا؛ أما في المسائل سريعة التغيّر أو القريبة من الصلابة (stiff) فزِد العدد إلى 100 أو 200 أو 500.
ماذا أفعل إذا ظهرت النتيجة NaN أو Infinity؟ ربما تباعد الحل، أو أن \(F(x,y)\) أجرت عملية غير صالحة (مثل لوغاريتم عدد سالب أو القسمة على صفر). تحقّق من العبارة وجرّب مجالًا أصغر أو عددًا أكبر من الخطوات.