اين انت .... » الرئيسية »
التفاضل والتكامل
» ما هى طريقة حل المعادلات التفاضلية عدديا ً ؟
ما هى طريقة حل المعادلات التفاضلية عدديا ً ؟
الخميس، 21 يونيو 2012
التسميات:
التفاضل والتكامل
عندك عدة طرق منها طريقة أويلر ،وهى طرق تشبه التكامل العددى الى حد ما
وتتطلب ايضاً شروط بدئية .
مثال : المعادلة التفاضلية y' = 1+y
عين قيمة تقريبية لـ y(1) ..l اذا علمت ان y(0) = 0
ضع n=4 يعنى قسم الفترة الى 4 فترات .
...................................................
الحل : h = 1/4 = 0.25
حيث يمكن تقسيم الواحد الى فترات جزئية
t0 = 0
t1 = 0.25
t2 = 0.5
t3 = 0.75
t4 = 1
y1 = y0 + hf(t0 , y0) ..l
y1 = 0 + 0.25 = 0.25
y2 = 0.25 + 0.25(1.25) = 9/16
y3 = 9/16 + 0.25(1.5625) = 61/64
y4 = 61/64 + 0.25(1+61/64) = 1.441
طبعاً بعد التقريب .
اذاً : y(1) ≈ 1.44
..............................................................................
جاء هذا التعريف نتيجة التعريف العام لمشتقة الدالة ...
f'(x) = [f(x+h) - f(x)]/h عندما h تؤول للصفر .
اذاً : f(x+h) - f(x) = hf'(x) ll
ومنها .. f(x+h) = f(x) + h'f(x) ll
ولكن ماذا لو كانت h تقترب من الصفر وفقط اى يمكن ان تكون ربع
او ثمن او اى عدد مثلاً بين الصفر والواحد فهنا استعملنا التقريب فنقول
f(x+h) ≈ f(x) + hf'(x) ll
ومن خلال هذا التعريف يمنكك ايجاد المشتقة الثانية والثالثة
والرابعة، وبصفة عامة المشتقات من الرتب العليا ... ففى
المثال السابق اعطاك معادلة تفاضلية f'(x) = f(x)+1 وطلب منك
f(1) علماً بأن (هذا شرط بدئى) f(0) = 0 هو اعطاك دالة
الصفر وطلب منك دالة الواحد .. ما هى المسافة بين الـ 0
والواحد ؟ هى بالتأكيد 1 فقط ولكن اذا وضعنا h=1 فإنها ستعطى
نتائج غير دقيقة (او لم تقترب من النتيجة المطلوبة بالقدر الكافى)
لذلك اذا اردنا المزيد من الدقة نقسم 1 على 4 (كمثال فقط)
فتكون h = 1/4 ثم نبدأ من 0 ثم 1\4 ثم 1\2 .. وهكذا الى
ان نصل الى دالة الواحد .. ولاحظ كل مرة نضيف 1\4 فقط
والتى هى قيمة h .
طول الفترة 1 قسمنها الى فترات جزئية ..
f(0.25) = f(0) + 0.25f'(0) = 0.25
ما الذى حدث فى هذه الخطوة ؟
ما حدث هو اردنا ايجاد صورة 0.25 التى تلى صورة 0 حسب القاعدة
وهو ذكر فى السؤال ان f(0) = 0 ولكن كيف اوجدنا f'(0) ?l
بكل بساطة عوضنا فى f'(x) = f(x)+1 نضع x=0
f'(0) = f(0)+1 = 0+1 = 1 والآن ننتقل الى الخطوة التى تليها ..
f(0.5) = 0.25 + 0.25f'(0.25) = 9/16
سأذكر ايضاً سريعاً ما حدث فى هذه الخطوة بحيث لا أكرر ما قلته مرة أخرى ..
فأعتقد ان كل شىء واضح فيما عدا قيمة f'(0.25) قد تكون غامضة بعض الشىء ..
ايضاً بكل بساطة عوض فى f'(x) = f(x)+1 نضع x=0.25
أى ان : f'(0.25) = f(0.25)+1 ولكن f(0.25) l هذه قط حصلنا عليها من
الخطوة الأولى f(0.25) = 0.25 بالتعويض اذاً : f'(0.25) = f(0.25)+1 = 1.25
نظل هكذا نكرر الخوارزمية الى أن نصل الى قيمة f(1) التى طلبها منك فى السؤال ...
f(1) ≈ 1.44
وتجدر الإشارة هنا الى ان المثال الضى وضعته مجرد لتوضيح الفكرة لا أكثر
ولا اقل والا فإنه يمكنك ايجاد f(1) ll بدون استخدام هذه الطريقة، عن طريق
حل المعادلة التفاضلية من الرتبة الأولى بهذه الطريقة ..
y' = y+1 -----> dy/dx = y+1
ولكن من خواص النسبة والتناسب انك اذا بدلت وضع الطرفين او الوسطين
فإن التناسب يظل صحيحاً ايضاً، وهذا يعطينا : dy/(y+1) = dx وبمكاملة
الطرفين نحصل على : ln(y+1) = x+c والتى يمكنك وضعها فى الصورة
ln(y+1) = x+lnc ومنها ln(y+1) - lnx = x ومن خواص اللوغاريمات نستنتج أن :
ln[(y+1)/c] = x بأخذ e للطرفين .. e^ln[(y+1)/c] = e^x
اى ان : ll (y+1)/c = e^x وبعد التبسيط ينتج لنا المعادلة الأصلية
على هذا الشكل : y = ce^x - 1 حيث c ثابت التكامل .. والذى نوجده من
خلال الشرط البدئى الذى وضعه لنا f(0) = 0 بالتعويض ...
ce^0 - 1 = 0 اى ان : c - 1 = 0 ومنها c=1 لتكون المعادلة هى :
f(x) = e^x - 1 ومنها f(1) = e - 1 ≈ 1.71828
وطبعاً هى تقترب (الى حد ما) من 1.44 ولكن ليست بالقدر الكافى
وهذا لأننا أخذنا h = 1/4 ولو انك قسمت طول الفترة التى تساوى 1
الى 8 فترات جزئية لحصلت على نتيجة افضل .. وهكذا .
وتتطلب ايضاً شروط بدئية .
مثال : المعادلة التفاضلية y' = 1+y
عين قيمة تقريبية لـ y(1) ..l اذا علمت ان y(0) = 0
ضع n=4 يعنى قسم الفترة الى 4 فترات .
...................................................
الحل : h = 1/4 = 0.25
حيث يمكن تقسيم الواحد الى فترات جزئية
t0 = 0
t1 = 0.25
t2 = 0.5
t3 = 0.75
t4 = 1
y1 = y0 + hf(t0 , y0) ..l
y1 = 0 + 0.25 = 0.25
y2 = 0.25 + 0.25(1.25) = 9/16
y3 = 9/16 + 0.25(1.5625) = 61/64
y4 = 61/64 + 0.25(1+61/64) = 1.441
طبعاً بعد التقريب .
اذاً : y(1) ≈ 1.44
..............................................................................
جاء هذا التعريف نتيجة التعريف العام لمشتقة الدالة ...
f'(x) = [f(x+h) - f(x)]/h عندما h تؤول للصفر .
اذاً : f(x+h) - f(x) = hf'(x) ll
ومنها .. f(x+h) = f(x) + h'f(x) ll
ولكن ماذا لو كانت h تقترب من الصفر وفقط اى يمكن ان تكون ربع
او ثمن او اى عدد مثلاً بين الصفر والواحد فهنا استعملنا التقريب فنقول
f(x+h) ≈ f(x) + hf'(x) ll
ومن خلال هذا التعريف يمنكك ايجاد المشتقة الثانية والثالثة
والرابعة، وبصفة عامة المشتقات من الرتب العليا ... ففى
المثال السابق اعطاك معادلة تفاضلية f'(x) = f(x)+1 وطلب منك
f(1) علماً بأن (هذا شرط بدئى) f(0) = 0 هو اعطاك دالة
الصفر وطلب منك دالة الواحد .. ما هى المسافة بين الـ 0
والواحد ؟ هى بالتأكيد 1 فقط ولكن اذا وضعنا h=1 فإنها ستعطى
نتائج غير دقيقة (او لم تقترب من النتيجة المطلوبة بالقدر الكافى)
لذلك اذا اردنا المزيد من الدقة نقسم 1 على 4 (كمثال فقط)
فتكون h = 1/4 ثم نبدأ من 0 ثم 1\4 ثم 1\2 .. وهكذا الى
ان نصل الى دالة الواحد .. ولاحظ كل مرة نضيف 1\4 فقط
والتى هى قيمة h .
طول الفترة 1 قسمنها الى فترات جزئية ..
f(0.25) = f(0) + 0.25f'(0) = 0.25
ما الذى حدث فى هذه الخطوة ؟
ما حدث هو اردنا ايجاد صورة 0.25 التى تلى صورة 0 حسب القاعدة
وهو ذكر فى السؤال ان f(0) = 0 ولكن كيف اوجدنا f'(0) ?l
بكل بساطة عوضنا فى f'(x) = f(x)+1 نضع x=0
f'(0) = f(0)+1 = 0+1 = 1 والآن ننتقل الى الخطوة التى تليها ..
f(0.5) = 0.25 + 0.25f'(0.25) = 9/16
سأذكر ايضاً سريعاً ما حدث فى هذه الخطوة بحيث لا أكرر ما قلته مرة أخرى ..
فأعتقد ان كل شىء واضح فيما عدا قيمة f'(0.25) قد تكون غامضة بعض الشىء ..
ايضاً بكل بساطة عوض فى f'(x) = f(x)+1 نضع x=0.25
أى ان : f'(0.25) = f(0.25)+1 ولكن f(0.25) l هذه قط حصلنا عليها من
الخطوة الأولى f(0.25) = 0.25 بالتعويض اذاً : f'(0.25) = f(0.25)+1 = 1.25
نظل هكذا نكرر الخوارزمية الى أن نصل الى قيمة f(1) التى طلبها منك فى السؤال ...
f(1) ≈ 1.44
وتجدر الإشارة هنا الى ان المثال الضى وضعته مجرد لتوضيح الفكرة لا أكثر
ولا اقل والا فإنه يمكنك ايجاد f(1) ll بدون استخدام هذه الطريقة، عن طريق
حل المعادلة التفاضلية من الرتبة الأولى بهذه الطريقة ..
y' = y+1 -----> dy/dx = y+1
ولكن من خواص النسبة والتناسب انك اذا بدلت وضع الطرفين او الوسطين
فإن التناسب يظل صحيحاً ايضاً، وهذا يعطينا : dy/(y+1) = dx وبمكاملة
الطرفين نحصل على : ln(y+1) = x+c والتى يمكنك وضعها فى الصورة
ln(y+1) = x+lnc ومنها ln(y+1) - lnx = x ومن خواص اللوغاريمات نستنتج أن :
ln[(y+1)/c] = x بأخذ e للطرفين .. e^ln[(y+1)/c] = e^x
اى ان : ll (y+1)/c = e^x وبعد التبسيط ينتج لنا المعادلة الأصلية
على هذا الشكل : y = ce^x - 1 حيث c ثابت التكامل .. والذى نوجده من
خلال الشرط البدئى الذى وضعه لنا f(0) = 0 بالتعويض ...
ce^0 - 1 = 0 اى ان : c - 1 = 0 ومنها c=1 لتكون المعادلة هى :
f(x) = e^x - 1 ومنها f(1) = e - 1 ≈ 1.71828
وطبعاً هى تقترب (الى حد ما) من 1.44 ولكن ليست بالقدر الكافى
وهذا لأننا أخذنا h = 1/4 ولو انك قسمت طول الفترة التى تساوى 1
الى 8 فترات جزئية لحصلت على نتيجة افضل .. وهكذا .
1 التعليقات:
ما هوا التنسور
إرسال تعليق