سأنهي الوحدة الفرعية هذه بالطرق الحسابية
لحل المعادلات التفاضلية، بملاحظات أكثر عمومية.
حسناً، كنا نناقش طريقة أويلر،
طريقة أويلر معروفة كطريقة عددية
أو حسابية لحل المعادلة التفاضلية.
إنّها حسابية لأنّها تشتمل على إنجاز العمليات الحسابية
دائماً تقريباّ باستخدام الحاسوب،
وتدعى عددية أيضاً، ربما هذا المصطلح الأكثر تقليدياً،
لأنّ نتيجة طريقة أويلر ليست معادلة لدالة
لكنّها قائمة من الأعداد، لذلك ندعوها طريقة عددية.
طريقة أويلر بسيطة تماماً من الناحية النظرية،
وتصل لقلب ما تعنيه المعادلات التفاضلية:
قاعدة لكيفية تغير شيء ما،
وهذه القاعدة مكتوبة بمصطلحات المشتق،
معدل التغيير، وليست الدالة نفسها.
إذاً، أعتقد إن فهمتم طريقة أويلر،
وربما كتبتم الكود الخاص بها بأنفسكم،
عندئذٍ تكونون قد فهمتم جيد جداً
ما تعنيه المعادلات التفاضلية،
إذاً، أنا أوصيكم بالتأكيد إن كان لديكم مهارات برمجية،
اللغة البرمجية لا تهم على الإطلاق،
ويمكنكم أن تستخدموا برنامج Excel،
لمحاولة كتابة الكود لطريقة أويلر بأنفسكم.
سأسجل هذا بالواجب لهذه الوحدة.
إذاً، طريقة أويلر دقيقة جداً من الناحية النظرية،
ومع ذلك إنّها ليست فعالة جداً حسابياً،
لذلك، لا تُستخدم كثيراً في التطبيق العملي.
دعوني أخبركم القليل كيف يمكن أن نحسّن استخدام طريقة أويلر.
إذاً، لنحسّن استخدام طريقة أويلر،
ربما نود أن نفعل شيئين
أولاً، هناك عائلة من التقنيات،
مجموعة من التقنيات، معروفة بطرق Runge-Kutta
وها هي فكرتهم:
لن أذهب بهذه الطرق بالتفصيل،
لكنّها تستحق الذكر.
إذاً، في طريقة أويلر،
نتظاهر أنّ معدل التغيير ثابت، خلال فاصل زمني دلتا t،
ومن ثمّ يجب علينا أن نختار أيّ معدل تغيير
سنستخدم، وفقط نختار معدل التغيير
عند الجزء الأيسر لذلك الفاصل.
فقط نأخذ بداية معدل التغيير في ذلك الفاصل
ونتظاهر أنّه ثابت لكل دلتا t.
تقول طرق Runge-Kutta،
حسناً، بدلاً من استخدام معدل التغيير عند بداية الفاصل،
ماذا إن استخدمنا معدل التغيير عند بداية الفاصل،
وعند نهاية الفاصل، ونوجد المعدل لهذين الإثنين.
سيكون هذا على الأرجح تمثيل أعدل
لما يحدث في ذلك الفاصل،
أو أفضل حتّى، ربما يمكننا أن نختبر معدل التغيير
عند ثلاث نقاط مختلفة على طول ذلك الفاصل،
وهناك عدة مخططات للقيام بهذا الاختبار
وطرق مختلفة لإيجاد المعدلات لمشتقات مختلفة
التي يمكن لأحدٍ ما أن يستنتجها، لكن هذه هي الفكرة العامة.
بدلاً من استخدام مشتق واحد،
نأخذ عينة زوج من المشتقات، ونوجد معدلهم.
إذاً، هذه طريقة واحدة لتحسّين استخدام طريقة أويلر.
إنّها ليست واضحة مباشرةً، لكن تبيّنت أنه
بشكل فعال أكثر، وبجهد حاسوبي أقل
بمكن الحصول على إجابة أكثر دقة.
الشيء الآخر الذي يمكن أن يفعله أحدٌ ما عادةً
هو شيءٌ ما يدعى مقدار خطوة ملائم،
وهذا يعني أننا لدينا برنامج يضبط دلتا t بشكل أوتوماتيكي
في أثناء تنفيذ البرنامج، عندما نحاول أن نجد حل.
إذاً، دلتا t تحتاج أن تكون صغيرة
عندما يتغير المشتق بسرعة.
نصاب بمشكلة مع هذه الطرق
عندما نتظاهر أنّ المشتق
ثابت خلال دلتا t، لكنّه بالواقع يتغير كثيراً.
إذاً، إن كان لدينا حالة بحيث، أحياناً،
بما أنّ الزمن يستمر، المشتق يتغير بسرعة،
وبأزمنة أخرى، لا يتغير بسرعة،
عندئذٍ لا نحتاج أن نستخدم نفس الدلتا t.
إن كان التغيير بالمشتق بطيء،
يمكننا أن نستخدم دلتا t كبيرة،
وعندما يكون سريعاً نحتاج أن نستخدم دلتا t صغيرة،
وإذاً هذه الطرق التي تعطي مقدار خطوة ملائم
تكتشف طول الخطوة عند التنفيذ
أنا أفكر بمقدار الخطوة الملائم، بهذه الطريقة،
وهذا تشابه جزئي صعب لكنه ربما يعطي الفكرة الصحيحة،
تخيّل أنّك تمشي في منظر طبيعي،
وأنت معصوب العينين - لا تستطيع أن ترى.
إذا كان المنظر الطبيعي مستوٍ تستطيع أن تخطو خطوات كبيرة جداً ،
ولن تفوت أي شيء،
لكن إن كان المنظر الطبيعي وعراً جداً،
تحتاج أن تخطو خطوات صغيرة
لتتأكد بأن لا تتعثر أو تفوّت شيئاً ما.
إذاً، إن كنت معصوب العينين، ربما تضبط حجم خطوتك
اعتماداً على ماذا تحس يوجد بالأرض.
حسناً، على أي حال، الطريقة القياسية لتحسّن استخدامك لطريقة أويلر
هي أن تفعل هذين الشيئين:
نوع ما لطريقة Runge-Kutta،
ونوع ما من مقدار الخطوة الملائم.
تقريباً كل بيئات البرمجة العددية، التي أألفها:
MATLAB, Octave, Maple, Mathematica, Python
لديهم دوال مدمجة تستخدم Runge-Kutta، ومقدار الخطوة الملائم.
إذاً، ربما في المنتدى، بعضٌ منكم لديه خبرة
بهذه الأشياء المختلفة،
وربما قد حللتم المعادلات التفاضلية من قبل
أستطيع أن أنشر بعض الأمثلة
لكيفية استخدام هذه الدالات المدمجة المختلفة.
حسناً، أخيراً، ربما فقط ألقي نظرة للأمام.
إذاً، في الوحدات التالية، سأقدّم بشكل تكراري
حلول للمعادلات التفاضلية،
وتقريباً على الدوام، الحلول التي أقدّمها
وأعرضها وأناقشها ستكون حلول عددية.
لكي تقوم بهذه الدورة لا تحتاج
لحل المعادلات التفاضلية بنفسك،
لا تحتاج أن تكتب خوارزمية خاصة بك،
لا تحتاج أن تستخدم خوارزميات أشخاص آخرين،
ومع ذلك، أظن أنّه من المهم أن يكون لديك
حس من أين تأتي هذه الحلول.
إذاً، إذا عرضت لك حل لمعادلة تفاضلية
لديك فكرة ما من أين يأتي هذا الحل،
إنّه ليس سحراً، إنّه فقط من استخدام شيئاً
كطريقة أويلر - طريقة بسيطة جداً، لكن تكرارية
لحل المعادلات التفاضلية.