mathematics
24th September 2010, 02:22 PM
معمولاً بسیار سخت است که یک روش حل تحلیلی برای بسیاری از معادلات دیفرانسیل پیدا کنیم. این مساله ممکن است به این خاطر باشد که، معادلات غیر خطی هستند یا اینکه دارای ضریبی هستند که با زمان تغییر میکند. برای مثال در معادلات دیفرانسیل خطی ضریبدار، هرچه مرتبه بیشتر باشد حل آن سختتر میشود. یا بخاطر اینکه ورودیهای زیادی دارد در شرایط مختلف مشکل تر است. روشهای زیادی وجود دارد که جواب معادلات دیفرانسیل را تقریب میزند. این روشها، نامهای گوناگونی دارند : روشهای عددی، انتگرال عددی یا راه حلهای تقریبی.
http://upload.wikimedia.org/wikipedia/commons/thumb/7/73/Numerical_integration_illustration%2C_h%3D0.25.png/220px-Numerical_integration_illustration%2C_h%3D0.25.png
تمام روشهایی که در اینجا بیان شده راه حل دقیق را ایجاد نمیکند و فقط یک تقریب بهدست میآید. چون این روشها دارای محاسبات زیادی هسند، تنها جوابهایی در فواصل زمانی مجزا میدهند. مشخصا جوابها در زمان ابتدایی شرایط وفاصله زمانهای مشخص، h، بدست میآید. (i.e., at t=to, to+h, to+۲.h,... , to+k.h).
این پیچیدگی ادامه دارد زیرا، این روشها فقط برای حل معادلات دیفرانسیل مرتبه اول معتبر هستند. به هرحال محدودیت جدی برای معادله مرتبه nام وجود ندارد زیرا میتواند به n تا معادله دیفرانسیل مرتبه اول تبدیل شود. برای بوجود آوردن این روشها برای حل معادلات مرتبه nام، مساله را به حالتهای جداگانه تقسیم کرده و سپس برای هر مرحله زمانی روش حل را بکار میبریم تا جواب را برای مرحله بعدی بدست آوریم.
روش اویلر برای معادلات دیفرانسیل مرتبه اول
ساده ترین روش برای حل عددی معادلات دیفرانسیل، روش اویلر است که الان توضیح داده میشود. معادله دیفرانسیل مرتبه اول زیر را در نظر بگیرید :
در زمان t۰ شروع میکنیم. مقدار y(t۰+h) را میتوان توسط y(t۰) بعلاوه زمان تغییر حالت ضرب در شیب تابع تقریب زد. که مشتق y(t) است.
ما این تقریب را y*(t) مینامیم.
بنابرین اگر بتوانیم مقدار dy/dt را در زمان t۰ محاسبه کنیم، میتوانیم مقدار تقریبی y در زمان t۰+h را حدس بزنیم. سپس این مقدار جدید y(t۰) را استفاده کرده، دوباره dy/dt را حساب و این کار را تکرار میکنیم. به این روش متد اویلر میگوییند.
توسط این پیش زمینه ساده روش اویلر برای معادلات دیفرانسیل مرتبه اول بصورت زیر است :
۱) در زمان t۰ شروع کنید، یک مقدار برای h در نظر بگیرید، سپس شرایط ابتدایی y(t۰) را حساب کنید. ۲) از طریق y(t۰) مشتق y(t) را در زمان t=t۰ حسب کنید. آنرا k۱ بنامید. این شیب توسط خط قرمز در شکل بالا نشان داده شدهاست.
۳) از این مقدار، مقدار تقریبی y*(t۰+h) را حساب کنید.
۴) قرار دهید t۰=t۰+h، y(t۰)=y*(t۰+h) ۵) مراحل ۲ تا ۴ را آنقدر تکرار کنید تا جواب به دست آید.
http://upload.wikimedia.org/wikipedia/commons/thumb/7/73/Numerical_integration_illustration%2C_h%3D0.25.png/220px-Numerical_integration_illustration%2C_h%3D0.25.png
تمام روشهایی که در اینجا بیان شده راه حل دقیق را ایجاد نمیکند و فقط یک تقریب بهدست میآید. چون این روشها دارای محاسبات زیادی هسند، تنها جوابهایی در فواصل زمانی مجزا میدهند. مشخصا جوابها در زمان ابتدایی شرایط وفاصله زمانهای مشخص، h، بدست میآید. (i.e., at t=to, to+h, to+۲.h,... , to+k.h).
این پیچیدگی ادامه دارد زیرا، این روشها فقط برای حل معادلات دیفرانسیل مرتبه اول معتبر هستند. به هرحال محدودیت جدی برای معادله مرتبه nام وجود ندارد زیرا میتواند به n تا معادله دیفرانسیل مرتبه اول تبدیل شود. برای بوجود آوردن این روشها برای حل معادلات مرتبه nام، مساله را به حالتهای جداگانه تقسیم کرده و سپس برای هر مرحله زمانی روش حل را بکار میبریم تا جواب را برای مرحله بعدی بدست آوریم.
روش اویلر برای معادلات دیفرانسیل مرتبه اول
ساده ترین روش برای حل عددی معادلات دیفرانسیل، روش اویلر است که الان توضیح داده میشود. معادله دیفرانسیل مرتبه اول زیر را در نظر بگیرید :
در زمان t۰ شروع میکنیم. مقدار y(t۰+h) را میتوان توسط y(t۰) بعلاوه زمان تغییر حالت ضرب در شیب تابع تقریب زد. که مشتق y(t) است.
ما این تقریب را y*(t) مینامیم.
بنابرین اگر بتوانیم مقدار dy/dt را در زمان t۰ محاسبه کنیم، میتوانیم مقدار تقریبی y در زمان t۰+h را حدس بزنیم. سپس این مقدار جدید y(t۰) را استفاده کرده، دوباره dy/dt را حساب و این کار را تکرار میکنیم. به این روش متد اویلر میگوییند.
توسط این پیش زمینه ساده روش اویلر برای معادلات دیفرانسیل مرتبه اول بصورت زیر است :
۱) در زمان t۰ شروع کنید، یک مقدار برای h در نظر بگیرید، سپس شرایط ابتدایی y(t۰) را حساب کنید. ۲) از طریق y(t۰) مشتق y(t) را در زمان t=t۰ حسب کنید. آنرا k۱ بنامید. این شیب توسط خط قرمز در شکل بالا نشان داده شدهاست.
۳) از این مقدار، مقدار تقریبی y*(t۰+h) را حساب کنید.
۴) قرار دهید t۰=t۰+h، y(t۰)=y*(t۰+h) ۵) مراحل ۲ تا ۴ را آنقدر تکرار کنید تا جواب به دست آید.