حل عددی معادلات دیفرانسیل معمولی
| در متن این مقاله از هیچ منبع و مأخذی نام برده نشدهاست. شما میتوانید با افزودن منابع برطبق اصول اثباتپذیری و شیوهنامهٔ ارجاع به منابع، به ویکیپدیا کمک کنید. مطالب بیمنبع احتمالاً در آینده حذف خواهند شد. |
|
|
ممکن است این مقاله نیازمند ویکیسازی باشد تا با استانداردهای کیفی ویکیپدیا همخوانی یابد. خواهشمندیم با افزودن پیوندهای داخلی مرتبط، یا با بهبود چیدمان به بهبود آن کمک کنید.
برای جزئیات بیشتر روی [نمایش] کلیک کنید.
هیچ دلیلی برای این برچسب ویکیسازی ذکر نشدهاست. میتوانید دلیلتان را با استفاده از پارامتر
|
|
|
این مقاله نیازمند تمیزکاری است. لطفاً تا جای امکان آنرا از نظر املا، انشا، چیدمان و درستی بهتر کنید، سپس این الگو را از بالای مقاله بردارید. محتویات این مقاله ممکن است غیر قابل اعتماد و نادرست یا جانبدارانه باشد یا قوانین حقوق پدیدآورندگان را نقض کرده باشد. |
معمولا در مواجهه با بسیاری از معادلات دیفرانسیل، یافتن یک حل تحلیلی و دقیق کار ساده ای نیست. این مساله ممکن است به این خاطر باشد که، معادلات غیر خطی هستند یا اینکه دارای ضریبی هستند که با زمان تغییر میکند. برای مثال در معادلات دیفرانسیل خطی ضریبدار، هرچه مرتبه بیشتر باشد حل آن سختتر میشود. یا بخاطر اینکه ورودیهای زیادی دارد در شرایط مختلف مشکل تر است. روشهای زیادی وجود دارد که جواب معادلات دیفرانسیل را تقریب میزند. این روشها، نامهای گوناگونی دارند: روشهای عددی، انتگرال عددی یا راه حلهای تقریبی. تعدادی از روش های حل عددی معادلات دیفرانسیل عبارتند از [۱]:
- روش اویلر
- روش هون
- روش تیلور
- روش رانگ-کوتا
- روش آدامز-بشفورت-مولتون
- روش میلن-سیمپسون
- روش هامینگ
- روش رانگ-کوتا-فلبرگ مرتبه ۵
تمام روشهایی که در اینجا بیان شده راه حل دقیق را ایجاد نمیکند و فقط یک تقریب بهدست میآید. چون این روشها دارای محاسبات زیادی هسند، تنها جوابهایی در فواصل زمانی مجزا میدهند. مشخصا جوابها در زمان ابتدایی شرایط وفاصله زمانهای مشخص، h، بدست میآید. (t0, t1 = t0 + h, t2 = t0 + 2h).
معادله مرتبه 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
۵) مراحل ۲ تا ۴ را آنقدر تکرار کنید تا جواب به دست آید.
روش اویلر برای معادلات دیفرانسیل مرتبه بالاتر [ویرایش]
روشی که در بالا بیان شد برای تقریب معادلات دیفرانسیل مرتبه اول کاربرد داشت، ولی بطور واضح نمیتوان این جواب را برای معادلات دیفرانسیل مراتب بالاتر قبول کرد. ترفندی که در اینجا بکار میرود، تقسیم کردن آن به معادلات دیفرانسیل مراتب پایین تر است. این روش «آنالیز حالتهای متغیر» نامیده میشد.
روش Runge – kutta مرتبه دوم [ویرایش]
بطور واضح بین درستی و پیچیدگی محاسبات و مقدار انتخاب شده h وابستگی زیادی وجود دارد. بطور کلی هرچه مقدار h کوچکتر شود، محاسبات طولانی تر ولی دقیق تر میشود. حال اگر مقدار h خیلی کوچک شود، برای اینکه نمیتوان آنرا به درستی در کامپیوتر نشان داد خطا ایجاد میشود. برای سیستمهای مرتبه بالاتر، تقریب اویلر بسیار سخت است. به همین دلیل، دقت بالاتر و تکنیکهای با جزییات بیشتر ساخته شد. ما در مورد متدی بحث میکنیم که توسط دو ریاضیدان به اسمهای Runge و Kutta ساخته شدهاست.
این تکنیک برای مشتق تابع (y(t در t۰ از متد اویلر استفاده میکند. از k۱ نیز برای بدست آوردن مقدار اولیه (y(t۰+h استفاده میکنیم. از (y*(t۰+h میتوانیم مقدار مشتق(y(t را در t۰+h حساب کنیم که آنرا k۲ مینامیم. سپس میانگین این دو مشتق را k۳ مینامیم.
روش RK۲، تقریب را از طریق تخمین زدن بیشتر این تقریب، از روی فاصله شیب حساب میکند. روش اویلر مشتق را در (y(t۰ حساب کرده و از آن در تقریب (y(t۰+h استفاده میکند.
بصورت الگوریتم میتوانیم روش RK۲ را استفده کنیم :
۱) در زمان t۰ شروع به محاسبات میکنیم.
۲) در زمان t۰، مشتق (y(t را حساب کرده و آنرا k۱ مینامیم.
۳) مقدار ابتدایی (y*(t۰+h را حساب کرده و فرمول اویلر را استفاده میکنیم.
۴) از (y*(t۰+h مشتق (y(t را در t۰+h حساب کرده و آنرا k۲ مینامیم.
۵) مقدار جدید (y*'(t۰+h را از میانگین k۱ وk۲ محاسبه میکنیم.
۶) قرار دهید (y(t۰) = y*'(t+۰h و t۰ = t۰+h
۷) مراحل ۲ تا ۶ را تکرار کنید تا جواب بدست آید.