معادله دیفرانسیل را با استفاده از روش عددی اویلر حل کنید. حل عددی معادلات دیفرانسیل معمولی حل معادله اویلر ناهمگن

مقدمه

هنگام حل مسائل علمی و مهندسی، اغلب لازم است که هر سیستم دینامیکی را به صورت ریاضی توصیف کنیم. بهتر است این کار را در فرم انجام دهید معادلات دیفرانسیل (DU) یا سیستم های معادلات دیفرانسیل. اغلب، چنین مشکلی هنگام حل مسائل مربوط به مدل سازی سینتیک واکنش های شیمیایی و پدیده های مختلفانتقال (گرما، جرم، تکانه) - انتقال حرارت، اختلاط، خشک کردن، جذب، هنگام توصیف حرکت ذرات ماکرو و میکرو.

در برخی موارد، معادله دیفرانسیل را می توان به شکلی تبدیل کرد که در آن بالاترین مشتق به طور صریح بیان شود. این شکل از نوشتن معادله ای نامیده می شود که با توجه به بالاترین مشتق حل شده است (در این حالت، بالاترین مشتق در سمت راست معادله وجود ندارد):

جواب یک معادله دیفرانسیل معمولی تابع y(x) است که برای هر x، این معادله را در یک بازه محدود یا نامتناهی مشخص می کند. فرآیند حل یک معادله دیفرانسیل را یکپارچه سازی معادلات دیفرانسیل می گویند.

از لحاظ تاریخی، اولین و ساده ترین راه برای حل عددی مسئله کوشی برای ODE های مرتبه اول، روش اویلر است. این مبتنی بر تقریب مشتق با نسبت افزایش های محدود متغیرهای وابسته (y) و مستقل (x) بین گره های یک شبکه یکنواخت است:

که در آن y i+1 مقدار مورد نیاز تابع در نقطه x i+1 است.

دقت روش اویلر را می توان بهبود بخشید اگر از فرمول ادغام دقیق تری برای تقریب انتگرال استفاده کنیم: فرمول ذوزنقه ای.

این فرمول با توجه به y i+1 ضمنی است (این مقدار در سمت چپ و راست عبارت است)، یعنی معادله ای برای y i+1 است که برای مثال قابل حل است. از نظر عددی با استفاده از روشی تکراری (در چنین شکلی می توان آن را فرمول تکراری روش تکرار ساده در نظر گرفت).

ترکیب کار دوره: کار دورهاز سه بخش تشکیل شده است. در قسمت اول به توضیح مختصری از روش ها می پردازیم. در بخش دوم، فرمول بندی و حل مسئله. در بخش سوم - پیاده سازی نرم افزار به زبان کامپیوتر

هدف از کار دوره: مطالعه دو روش برای حل معادلات دیفرانسیل - روش اویلر-کوشی و روش بهبود یافته اویلر.

1. بخش نظری

تمایز عددی

معادله دیفرانسیل معادله ای است که حاوی یک یا چند مشتق باشد. بسته به تعداد متغیرهای مستقل، معادلات دیفرانسیل به دو دسته تقسیم می شوند.

    معادلات دیفرانسیل معمولی (ODE)

    معادلات دیفرانسیل جزئی

معادلات دیفرانسیل معمولی به معادلاتی گفته می شود که شامل یک یا چند مشتق از تابع مورد نظر باشد. آنها را می توان در قالب نوشت

متغیر مستقل

بالاترین مرتبه موجود در رابطه (1) را مرتبه معادله دیفرانسیل می گویند.

ساده ترین (خطی) ODE معادله (1) است که با توجه به مشتق حل شده است

راه حل معادله دیفرانسیل (1) هر تابعی است که پس از جایگزینی آن در معادله، آن را به یک هویت تبدیل می کند.

مشکل اصلی مربوط به ODE خطی به عنوان مشکل کاشی شناخته می شود:

جوابی برای معادله (2) به شکل تابعی پیدا کنید که شرط اولیه (3) را برآورده کند.

از نظر هندسی، این بدان معنی است که وقتی برابری (2) برآورده شد، لازم است منحنی انتگرال عبور از نقطه ) را پیدا کنیم.

عددی از نقطه نظر مسئله کاشی به این معنی است که: باید جدولی از مقادیر تابعی که معادله (2) و شرط اولیه (3) را برآورده می‌کند، روی یک قطعه با یک گام مشخص ساخته شود. معمولاً فرض می شود که، یعنی شرط اولیه در انتهای سمت چپ بخش داده می شود.

ساده ترین روش عددی برای حل معادله دیفرانسیل، روش اویلر است. این روش مبتنی بر ایده ساختن یک حل معادله دیفرانسیل به صورت گرافیکی است، اما این روش همچنین راهی برای یافتن تابع مورد نظر به صورت عددی یا در جدول ارائه می دهد.

معادله (2) با شرط اولیه داده شود، یعنی مسئله کاشی تنظیم شده است. بیایید ابتدا مشکل زیر را حل کنیم. به ساده ترین روش مقدار تقریبی راه حل را در نقطه ای که یک گام به اندازه کافی کوچک است پیدا کنید. معادله (2) همراه با شرط اولیه (3) جهت مماس منحنی انتگرال مورد نظر را در نقطه با مختصات مشخص می کند.

معادله مماس شکل دارد

با حرکت در امتداد این مماس، مقدار تقریبی جواب را در نقطه زیر بدست می آوریم:

با داشتن یک راه حل تقریبی در یک نقطه، می توانیم روشی را که قبلا توضیح داده شد تکرار کنیم: یک خط مستقیم از این نقطه با شیب ایجاد کنید و از آن برای یافتن مقدار تقریبی راه حل در نقطه استفاده کنید.

. توجه داشته باشید که این خط مماس بر منحنی انتگرال واقعی نیست، زیرا نقطه در دسترس ما نیست، اما اگر به اندازه کافی کوچک باشد، خطوط تقریبی حاصل نزدیک به مقادیر دقیقراه حل ها

در ادامه این ایده، سیستمی از نقاط با فاصله مساوی ایجاد می کنیم

گرفتن جدول مقادیر تابع مورد نظر

طبق روش اویلر شامل کاربرد چرخه ای فرمول است

شکل 1. تفسیر گرافیکی روش اویلر

روش‌های ادغام عددی معادلات دیفرانسیل که در آنها جواب‌ها از یک گره به گره دیگر به دست می‌آیند، گام به گام نامیده می‌شوند. روش اویلر ساده ترین نماینده روش های گام به گام است. یکی از ویژگی های هر روش گام به گام این است که با شروع از مرحله دوم، مقدار اولیه در فرمول (5) به خودی خود تقریبی است، یعنی خطا در هر مرحله بعدی به طور سیستماتیک افزایش می یابد. پرکاربردترین روش برای تخمین دقت روش های گام به گام برای حل عددی تقریبی ODE ها، روش عبور مضاعف یک قطعه معین با یک گام و یک گام است.

1.1 روش اویلر بهبود یافته

ایده اصلی این روش: مقدار بعدی محاسبه شده با فرمول (5) در صورتی دقیق تر خواهد بود که مقدار مشتق، یعنی شیب خط مستقیم جایگزین منحنی انتگرال روی قطعه، محاسبه نشود. در امتداد لبه سمت چپ (یعنی در نقطه)، اما در امتداد مرکز بخش. اما از آنجایی که مقدار مشتق بین نقاط محاسبه نمی شود، پس بیایید به بخش های دوتایی مرکز برویم، که در آن نقطه است، در حالی که معادله خط مستقیم به شکل زیر است:

و فرمول (5) شکل می گیرد

فرمول (7) فقط برای آن اعمال می شود، بنابراین نمی توان مقدار را از آن به دست آورد، بنابراین با استفاده از روش اویلر پیدا می شوند، در حالی که برای به دست آوردن نتیجه دقیق تر، این کار را انجام می دهند: از ابتدا با استفاده از فرمول (5) ) مقدار را پیدا کنید

(8)

در نقطه و سپس با فرمول (7) با یک گام یافت می شود

(9)

پس از محاسبات بیشتر برای تولید شده با فرمول (7)

مشخص است که معادله دیفرانسیل معمولی مرتبه اول دارای شکل: .راه حل این معادله یک تابع متمایز است که با جایگزین شدن به معادله، آن را به یک هویت تبدیل می کند. نمودار برای حل یک معادله دیفرانسیل (شکل 1.) نامیده می شود منحنی انتگرال

مشتق در هر نقطه را می توان از نظر هندسی به عنوان مماس شیب مماس بر نمودار راه حلی که از این نقطه عبور می کند تفسیر کرد، یعنی:.

معادله اصلی یک خانواده کامل از راه حل ها را تعریف می کند. برای انتخاب یک راه حل، تنظیم کنید شرایط آغازین: ،جایی که مقداری از ارزش استدلال داده شده است، و مقدار اولیه تابع

مشکل کوشی یافتن تابعی است که معادله اصلی و شرط اولیه را برآورده کند. معمولاً حل مسئله کوشی بر روی قطعه ای که در سمت راست مقدار اولیه قرار دارد، یعنی برای تعیین می شود.

حتی برای معادلات دیفرانسیل مرتبه اول ساده، همیشه نمی توان یک جواب تحلیلی به دست آورد. بنابراین، روش های عددی حل از اهمیت بالایی برخوردار است. روش‌های عددی تعیین مقادیر تقریبی راه‌حل مورد نظر را در برخی شبکه‌های انتخاب شده از مقادیر آرگومان ممکن می‌سازد. امتیاز نامیده می شود گره های شبکه، و مقدار مرحله شبکه است. اغلب در نظر گرفته می شود لباس فرم شبکه ها،که برای آن گام ثابت است. در این مورد، راه حل به شکل جدولی به دست می آید که در آن هر گره شبکه با مقادیر تقریبی تابع در گره های شبکه مطابقت دارد.

روش‌های عددی امکان یافتن راه‌حل را به شکل کلی نمی‌دهند، اما برای کلاس وسیعی از معادلات دیفرانسیل قابل استفاده هستند.

همگرایی روش های عددی برای حل مسئله کوشی.اجازه دهید راه حلی برای مشکل کوشی باشد. بیا تماس بگیریم خطا روش عددی، تابع داده شده در گره های شبکه. به عنوان یک خطای مطلق، مقدار را می گیریم.

روش عددی برای حل مسئله کوشی نامیده می شود همگرا، اگر برای او در. اگر تخمین خطا باشد، به روشی گفته می‌شود که دارای مرتبه صحت است مقدار ثابت، .

روش اویلر

ساده ترین روش برای حل مسئله کوشی روش اویلر است. بیایید مشکل کوشی را حل کنیم

در بخش بیایید مراحل را انتخاب کنیم و یک شبکه با سیستمی از گره ها بسازیم. روش اویلر مقادیر تقریبی تابع را در گره های شبکه محاسبه می کند:. با جایگزینی مشتق با اختلافات متناهی روی قطعات، یک برابری تقریبی: بدست می آوریم که می تواند به صورت:، بازنویسی شود.

این فرمول ها و شرط اولیه هستند فرمول های محاسباتی روش اویلر

تفسیر هندسی یک مرحله از روش اویلر به این صورت است که راه حل روی قطعه با مماس رسم شده در نقطه ای بر منحنی انتگرالی که از این نقطه می گذرد جایگزین می شود. پس از تکمیل مراحل، منحنی تجمعی ناشناخته با یک خط شکسته جایگزین می شود (خط شکسته اویلر).

تخمین خطابرای تخمین خطای روش اویلر از قضیه زیر استفاده می کنیم.

قضیه.اجازه دهید تابع شرایط را برآورده کند:

.

سپس برآورد خطای زیر برای روش اویلر معتبر است: ، طول قطعه کجاست. می بینیم که روش اویلر دارای دقت مرتبه اول است.

تخمین خطای روش اویلر اغلب دشوار است، زیرا به محاسبه مشتقات تابع نیاز دارد. یک برآورد تقریبی از خطا توسط قانون رانج (قانون شمارش دوگانه)،که برای روش های مختلف یک مرحله ای با مرتبه دقت -ام استفاده می شود. قانون Runge به شرح زیر است. اجازه دهید تقریب به دست آمده با یک گام، و اجازه دهید تقریب به دست آمده با یک گام. سپس برابری تقریبی درست است:

.

بنابراین، برای تخمین خطای روش یک مرحله ای با گام، باید همان راه حل را با مراحل پیدا کنید، مقدار سمت راست را در آخرین فرمول محاسبه کنید، یعنی از آنجایی که روش اویلر مرتبه اول دقت را دارد، یعنی برابری تقریبی دارای دیدگاه:.

با استفاده از قانون رانج، می توان رویه ای برای محاسبه تقریبی حل مسئله کوشی با دقت معین ساخت. . برای این، لازم است، با شروع محاسبات با مقدار معینی از گام، این مقدار را به طور مداوم به نصف کاهش دهید، هر بار که یک مقدار تقریبی را محاسبه کنید. . محاسبات زمانی متوقف می شوند که شرط برقرار شود: . برای روش اویلر، این شرط به شکل زیر است:. یک راه حل تقریبی مقادیر خواهد بود .

مثال 1اجازه دهید راه حلی برای بخش مشکل کوشی زیر پیدا کنیم:،. یک قدم برداریم سپس.

فرمول محاسبه روش اویلر به شکل زیر است:

, .

ما راه حل را در قالب جدول 1 ارائه می دهیم:

میز 1

معادله اصلی معادله برنولی است. راه حل آن را می توان به صراحت یافت: .

برای مقایسه راه حل های دقیق و تقریبی، راه حل دقیق را در قالب جدول 2 ارائه می دهیم:

جدول 2

از جدول می توان فهمید که خطا است

روش اویلر به روش‌های عددی اطلاق می‌شود که به صورت جدولی از مقادیر تقریبی تابع مورد نظر راه‌حل ارائه می‌کنند. y(x). نسبتاً خشن است و عمدتاً برای محاسبات تقریبی استفاده می شود. با این حال، ایده های زیربنایی روش اویلر، نقطه شروع تعدادی از روش های دیگر است.

معادله دیفرانسیل مرتبه اول را در نظر بگیرید

با شرایط اولیه

ایکس= ایکس 0 , y(ایکس 0 )= y 0 (3.2)

لازم است یک راه حل برای معادله در بخش [ آ, ب].

بیایید بخش را تقسیم کنیم [ آ, ب] را به n قسمت مساوی تبدیل کنید و دنباله را بدست آورید ایکس 0 ، ایکس 1 ، ایکس 2 ،…، ایکس n، جایی که ایکس من = ایکس 0 + آه (من=0,1,…, n), آ ساعت=(ب- آ)/ n- مرحله ادغام

در روش اویلر مقادیر تقریبی y(x من +1 ) y من +1 به صورت متوالی با فرمول های زیر محاسبه می شوند:

y i+1 = در من +hf(x من ، y من ) (i=0،1،2…) (3.3)

در این حالت منحنی انتگرال مورد نظر y=y(x)عبور از نقطه م 0 (ایکس 0 ، y 0 ), با یک خط شکسته جایگزین می شود م 0 م 1 م 2 با قله ها م من (ایکس من , y من ) (من=0,1,2,…); هر لینک م من م من +1 این خط شکسته تماس گرفت خط شکسته اویلر، دارای جهتی منطبق با جهت آن منحنی انتگرال معادله (1) است که از نقطه عبور می کند. م من(شکل 2 را ببینید):

شکل 2. نمای خط شکسته اویلر

روش اویلر اصلاح شدهابتدا مقادیر کمکی تابع مورد نظر محاسبه می شود در k+1/2در نقاط ایکس k+1/2، سپس مقدار سمت راست معادله (3.1) در نقطه میانی پیدا می شود y k+1/2 =f( xk+1/2 ، y k+1/2 ) و تعیین کنید در k+ :

سپس:
(3.4)

فرمول های (3.4) فرمول های تکراری روش اویلر هستند.

برای تخمین خطا در نقطه ایکس بهمحاسبات را انجام دهید در بهگام به گام ساعت، سپس با یک قدم 2 ساعتو 1/3 از تفاوت این مقادیر را بگیرید:

,

جایی که y(x)حل دقیق معادله دیفرانسیل است.

روش اویلر به راحتی به سیستم های معادلات دیفرانسیل و معادلات دیفرانسیل مرتبه بالاتر گسترش می یابد. دومی ابتدا باید به سیستم معادلات دیفرانسیل درجه اول کاهش یابد.

3.2. روش Runge-Kutta

روش های Runge-Kutta دارای ویژگی های زیر هستند:

    این روش ها یک مرحله ای هستند: پیدا کردن در k+1 در مورد نکته قبلی به اطلاعات نیاز دارید (ایکس به y به )

    روش‌ها تا حد سفارش با سری تیلور مطابقت دارند ساعت پ جایی که مدرک آربرای روش های مختلف متفاوت است و به آن شماره سریال یا ترتیب روش

    آنها به مشتقات نیاز ندارند f(xy) اما نیاز به محاسبه خود تابع است

الگوریتم Runge-Kutta سومسفارش:

(3.5)

الگوریتم Runge-Kutta چهارمسفارش:

(3.6)

الگوریتم های مرتبه سوم و چهارم به ترتیب به محاسبه سه و چهار تابع در هر مرحله نیاز دارند، اما بسیار دقیق هستند.

3.3. روش آدامز

روش آدامز اشاره دارد چند مرحله ایطرح های راه حل DE، که با این واقعیت مشخص می شود که راه حل در گره فعلی به داده های یک گره شبکه قبلی یا بعدی بستگی ندارد، همانطور که در روش های یک مرحله ای وجود دارد، بلکه به داده های موجود در گره بستگی دارد. چندین گره همسایه.

ایده روش‌های آدامز استفاده از مقادیری است که قبلاً در مراحل قبلی محاسبه شده‌اند تا دقت را بهبود بخشد.

Y ک -1 , Y ک -2 , Y ک -3 …

اگر مقادیر در کگره های قبلی، سپس در مورد روش k-step ادغام معادله صحبت می کنیم. یکی از راه های ساخت روش های چند مرحله ای به شرح زیر است. بر اساس مقادیر تابع محاسبه شده در k گره قبلی، یک چند جمله ای درون یابی درجه (k-1) -L ک -1 (ایکس) ، که هنگام ادغام معادله دیفرانسیل با عبارت:

در این حالت انتگرال از طریق فرمول ربع بیان می شود:

جایی که λ ل ضرایب تربیعی هستند.

خانواده فرمول هایی که به این ترتیب به دست می آیند نامیده می شوند صریحک -نمودار پله آدامز. همانطور که مشاهده می شود، در ک=1 به عنوان یک مورد خاص، فرمول اویلر به دست می آید.

به عنوان مثال، برای یک فرمول 4 سفارشی داریم:

(3.7)

y ( پ ) ک +1 - "پیش بینی"، محاسبه شده با استفاده از مقادیر در نقاط قبلی، f ( پ ) ک +1 مقدار تقریبی تابع محاسبه شده در نقطه به دست آوردن پیش بینی است، y ( ج ) ک +1 - "اصلاح" مقدار پیش بینی، y ک +1 مقدار مورد نظر از نظر آدامز است.

مزیت این روش حل DE این است که در هر نقطه فقط یک مقدار از تابع محاسبه می شود F (x، y).معایب شامل عدم امکان شروع یک روش چند مرحله ای از یک نقطه شروع است، زیرا برای محاسبات توسط کفرمول -step به مقدار مقدار تابع در نیاز دارد کگره ها بنابراین لازم است (k-1)راه حل در اولین گره ها ایکس 1 ، ایکس 2 ، …، ایکس k-1با استفاده از روش تک مرحله ای، به عنوان مثال، روش رانگ-کوتا مرتبه 4 به دست آید.

مشکل دیگر عدم امکان تغییر گام در فرآیند حل است که به راحتی در روش های یک مرحله ای اجرا می شود.

4. شرح مختصری از برنامه در C++ و ارائه نتایج اجرای آن

بسیاری از مسائل علم و فناوری به حل معادلات دیفرانسیل معمولی (ODE) خلاصه می شود. ODE ها چنین معادلاتی هستند که شامل یک یا چند مشتق از تابع مورد نظر هستند. به طور کلی

ODE را می توان به صورت زیر نوشت:

F x، y، y، y،...، y

که در آن x یک متغیر مستقل است،

y i - i -ام مشتق از

از تابع مورد نظر، n ترتیب معادله است. راه حل کلی یک ODE مرتبه n حاوی n ثابت دلخواه است

c 1 , c 2 ,..., c n , i.e. جواب کلی به شکل y x , c 1 , c 2 ,..., c n است. برای انتخاب یک راه حل منحصر به فرد، لازم است n شرط اضافی تنظیم کنید. بسته به نحوه تنظیم شما

در شرایط اضافی، دو نوع مشکل وجود دارد: مسئله کوشی و مسئله ارزش مرزی. اگر شرایط اضافی در یک نقطه مشخص شود، چنین مشکلی مشکل کوشی نامیده می شود. شرایط اضافی در مسئله کوشی شرایط اولیه نامیده می شود. اگر شرایط اضافی در بیش از یک نقطه مشخص شده باشد، یعنی. در ارزش های مختلفمتغیر مستقل، پس چنین مسئله ای را مسئله ارزش مرزی می نامند. خود شرایط اضافی را شرایط مرزی یا مرزی می نامند.

واضح است که برای n 1 می توان فقط در مورد مسئله کوشی صحبت کرد. نمونه هایی از تنظیم مشکل کوشی:

dy x 2 y 3

y 1 1;

d 2 y dy

y 1 1,

dx 2 dx xy

y 1 0 .

نمونه هایی از مسائل ارزش مرزی:

d2y

y گناه x

y 0 1,

y 1 0

dx 2

d 3 y

d2y

y10،

y 3 2 .

x x dx 2

dx

y10،

اینجوری حل کن

از نظر تحلیلی فقط برای

برخی از انواع خاصی از معادلات، بنابراین استفاده از روش های تقریبی حل یک ضرورت است.

روش های تقریبی برای حل مسئله کوشی برای ODE های مرتبه اول

برای یافتن راه حل y (x) از ODE مرتبه اول لازم است

f x، y

در بخش x 0، x n تحت شرط

y x0 y0 .

ما به دنبال یک راه حل تقریبی در گره های محاسبه شده خواهیم بود

xi x0 ih

من 0،1،...، n با

xn x0

نیاز به پیدا کردن

تقریبی

ارزش ها در

گره های شبکه

y i =y (x i). نتایج محاسبات در جدول درج خواهد شد

یکپارچه سازی

معادله برای

بخش x i، x i

1، دریافت می کنیم

x i 1

y من 1

yi f x, y dx .

برای پیدا کردن تمام مقادیر y i، باید به نحوی

انتگرال سمت راست (5.4) را محاسبه کنید. با استفاده از فرمول های مختلف مربعی، روش هایی را برای حل مسئله (5.2)، (5.3) در مرتبه های مختلف دقت به دست خواهیم آورد.

روش اویلر

اگر برای محاسبه انتگرال در (5.4) از ساده ترین فرمول مستطیل های چپ مرتبه اول استفاده می کنیم.

روش اویلر صریح مرتبه اول تقریب را دارد. اجرای روش.از x 0، y 0، f x 0، y 0

شناخته شده اند، با اعمال (5.5) متوالی، همه را تعیین می کنیم y i : y 1 y 0 hf x 0 , y 0 , y 2 y 1 hf x 1 , y 1 , ….

هندسی

تفسیر

(شکل 5.1.):

با استفاده از این واقعیت که راه حل y x 0 y 0 در نقطه x 0 شناخته شده است

و مقدار مشتق آن y x 0 dy

f x0، y0،

xx0

معادله مماس بر نمودار تابع مورد نظر را بنویسید

f x0، y0

y y0

f x0 , y0 x x0 .

کافی

مرحله h

ترتیب

y1 y0 hf x0، y0

مماس، که با جانشینی در سمت راست مقدار x 1 x 0 h به دست می آید، باید کمی با مختصات y x 1 محلول متفاوت باشد.

y x از مسئله کوشی. بنابراین، نقطه x 1 , y 1 تقاطع مماس با خط x x 1 را می توان تقریباً گرفت.

برای یک نقطه شروع جدید بیایید دوباره از این نقطه ترسیم کنیم.

خط y y 1 f x 1 , y 1 x 1 ,

که تقریبا منعکس کننده است

رفتار مماس بر y x

استفاده کنید

x i 1

مستطیل ها:

f x، y dx hf xi 1، yi 1، سپس

روش اویلر ضمنی

y من 1

y i hf x i 1، y i 1، i 0،1،...، n 1.

این روش به دلیل محاسبه ضمنی نامیده می شود

ناشناس

ارزش های

yi 1 y xi 1 توسط

معروف

معنی

برای حل معادله در حالت کلی لازم است

غیر خطی روش اویلر ضمنی نیز مرتبه اول تقریب را دارد.

روش اویلر اصلاح شده

AT این روشمحاسبه y i 1 شامل دو مرحله است:

~ y i 1 y i hf x i , y i ,

y من 1

f xi، yi f xi 1، yi 1

این طرح را روش پیش بینی- تصحیح کننده نیز می نامند. آی تی نام انگلیسی، به معنی "پیش بینی صحیح" است. در واقع، در مرحله اول، مقدار تقریبی با اولین مرتبه دقت پیش‌بینی می‌شود و در

روش اویلر روش اویلر بهبود یافته است.
روش کلاسیک رانگ کوتا

ریاضیات محاسباتی و معادلات دیفرانسیل دور نمی زد! امروز در کلاس ما اصول اولیه را یاد خواهیم گرفت. محاسبات تقریبیدر این بخش از تجزیه و تحلیل ریاضی، پس از آن کتاب های قطور و بسیار قطور در مورد موضوع پیش روی شما باز می شود. برای ریاضیات محاسباتی هنوز از سمت پراکنده عبور نکرده است =)

روش های ذکر شده در هدر برای تقریبییافتن راه حل ها معادلات دیفرانسیل، سیستم های کنترل از راه دور و بیانیه مختصری از رایج ترین مشکل به شرح زیر است:

در نظر گرفتن معادله دیفرانسیل مرتبه اولکه می خواهید پیدا کنید تصمیم خصوصیمطابق با شرایط اولیه . چه مفهومی داره؟ این یعنی ما باید پیدا کنیم عملکرد (فرض وجود دارد)، که تفاوت داده شده را برآورده می کند. معادله ای که نمودار آن از نقطه عبور می کند.

اما مشکل اینجاست - متغیرهای موجود در معادله را نمی توان از هم جدا کرد. هیچ راهی برای علم شناخته شده نیست. و اگر امکان پذیر باشد، معلوم می شود غیر قابل چنگ زدنانتگرال با این حال، یک راه حل خاص وجود دارد! و در اینجا روش های محاسبات تقریبی به کمک می آیند، که با بالا اجازه می دهد (و اغلب با بالاترین)برای "شبیه سازی" تابع در یک بازه زمانی خاص با دقت.

ایده پشت روش های اویلر و رانگ-کوتا جایگزینی قطعه طرح است خط شکسته، و اکنون خواهیم فهمید که این ایده چگونه در عمل اجرا می شود. و ما نه تنها یاد خواهیم گرفت، بلکه مستقیماً پیاده سازی خواهیم کرد =) بیایید با اولین و ساده ترین روش تاریخی شروع کنیم. ... آیا می خواهید با یک معادله دیفرانسیل پیچیده سر و کار داشته باشید؟ من هم نمیخوام :)

ورزش

یک راه حل خاص از معادله دیفرانسیل متناظر با شرایط اولیه را با استفاده از روش اویلر در یک قطعه دارای پله پیدا کنید. یک جدول و نموداری از راه حل تقریبی بسازید.

متوجه هستیم. اول، ما معمول است معادله خطی، که می تواند به روش های استاندارد حل شود و بنابراین مقاومت در برابر وسوسه یافتن فوری راه حل دقیق بسیار دشوار است:

- کسانی که مایل هستند می توانند بررسی کنند و مطمئن شوند که این تابع شرط اولیه را برآورده می کند و ریشه معادله است.

آنچه باید انجام شود؟ نیاز به پیدا کردن و ساختن خط شکسته، که نمودار تابع را به طور تقریبی نشان می دهد در بین. از آنجایی که طول این بازه برابر با یک است و گام برابر است، پس ما خط شکستهشامل 10 بخش خواهد بود:

علاوه بر این، نقطه قبلاً شناخته شده است - با شرایط اولیه مطابقت دارد. علاوه بر این، مختصات "x" سایر نقاط واضح است:

چپ برای پیدا کردن . هیچ یک تفکیکو ادغام- فقط جمع و ضرب! هر مقدار "یونانی" بعدی با یک مقدار ساده از مقدار قبلی بدست می آید عود کنندهفرمول:

معادله دیفرانسیل را به شکل زیر نشان می دهیم:

به این ترتیب:

ما از شرایط اولیه "رها" می شویم:

آن آغاز شده:

راحت است که نتایج محاسبات را در جدول وارد کنید:

و خود محاسبات باید در اکسل خودکار شوند - زیرا در ریاضیات نه تنها یک پایان پیروز، بلکه یک پایان سریع نیز مهم است :)

بر اساس نتایج ستون های 2 و 3، 11 نقطه و 10 بخش اتصال نقاط مجاور را در نقشه ترسیم می کنیم. برای مقایسه، من راه حل دقیق را ترسیم می کنم :


یک اشکال قابل توجه روش ساده اویلر این است که خطا بسیار بزرگ است و به راحتی می توان دید که خطا تمایل به انباشته شدن دارد - هر چه از نقطه دورتر می شویم، عمدتااختلاف بین تقریب و حقیقت بیشتر می شود. این با این اصل توضیح داده می شود که اویلر روش خود را بر اساس آن استوار کرد: بخش ها موازی هستند مربوط مماس به نمودار تابع در نقاط . اتفاقاً این واقعیت در نقاشی نیز به وضوح قابل مشاهده است.

چگونه می توان تقریب را بهبود بخشید؟ اولین فکر این است که پارتیشن را اصلاح کنیم. به عنوان مثال، بخش را به 20 قسمت تقسیم کنید. سپس مرحله به این صورت خواهد بود: و کاملاً واضح است که یک خط شکسته از 20 پیوند، راه حل خاص را بسیار دقیق تر تقریب می کند. با استفاده از همان اکسل، پردازش 100-1000 و حتی یک میلیون (!) بخش میانی دشوار نخواهد بود، اما بیایید از خود بپرسیم: آیا می توان روش را به صورت کیفی بهبود بخشید؟

اما قبل از افشای این سوال، نمی‌توانم به نامی که امروز بارها مطرح شده است نپردازم. خواندن بیوگرافی لئونارد اویلر، شما به سادگی از اینکه یک شخص چقدر می تواند در زندگی خود انجام دهد شگفت زده شده اید! فقط K.F قابل مقایسه بود. گاوس. ...پس سعی می کنیم انگیزه یادگیری و اکتشافات جدید را از دست ندهیم :))

روش اویلر بهبود یافته

همین مثال را در نظر بگیرید: یک معادله دیفرانسیل، یک راه حل خاص که شرط، یک بازه و تقسیم آن به 10 قسمت را برآورده می کند.
(طول هر قسمت است).

هدف از بهبود این است که "مربع های قرمز" چند خط را به "نقاط سبز" مربوطه از راه حل دقیق نزدیکتر کنیم. .

و ایده اصلاح این است: بخش ها باید موازی باشند مماس، که به نمودار تابع رسم می شوند نه در سمت چپ، اما "در وسط" فواصل پارتیشن بندی. که البته کیفیت تقریب را بهبود می بخشد.

الگوریتم حل به همین ترتیب کار می کند، اما فرمول، همانطور که ممکن است حدس بزنید، پیچیده تر می شود:
، جایی که

ما دوباره از یک راه حل خاص شروع به رقص می کنیم و بلافاصله آرگومان اول تابع "خارجی" را پیدا می کنیم:

اکنون "هیولا" خود را پیدا می کنیم، که معلوم شد چندان ترسناک نیست - توجه داشته باشید که این همان عملکرد است ، در نقطه دیگری محاسبه می شود:

نتیجه را در مرحله پارتیشن ضرب می کنیم:

به این ترتیب:

الگوریتم وارد دور دوم می شود، من خیلی تنبل نیستم، آن را با جزئیات می نویسم:

یک جفت را در نظر بگیرید و آرگومان اول تابع "external" را پیدا کنید:

آرگومان دوم آن را محاسبه کرده و پیدا می کنیم:

بیایید مقدار را محاسبه کنیم:

و محصول آن در هر مرحله:

انجام محاسبات در اکسل منطقی است (با تکرار فرمول ها به همان روش - ویدیوی بالا را ببینید)و نتایج را در جدول خلاصه کنید:


اعداد باید به اعشار 4-5-6 گرد شوند. اغلب در شرایط یک کار خاص وجود دارد نشانه مستقیمگرد کردن چقدر باید دقیق باشد؟ من مقادیر شدیداً "دم" را به 6 کاراکتر برش دادم.

با توجه به نتایج ستون 2 و 3 (ترک کرد)بیایید بسازیم خط شکستهو برای مقایسه، من دوباره نموداری از راه حل دقیق ارائه می دهم :


نتیجه به طور قابل توجهی بهبود یافته است! - مربع های قرمز عملاً در پشت نقاط سبز راه حل دقیق "پنهان" می شوند.

با این حال، هیچ محدودیتی برای کمال وجود ندارد. یک سر آن خوب است، اما دو سر بهتر است. و دوباره آلمانی:

روش کلاسیک رانگ-کوتا مرتبه چهارم

هدف او دستیابی به تقریب حتی بیشتر از "مربع های قرمز" به "نقاط سبز" است. میپرسی چقدر نزدیک؟ در بسیاری از مطالعات، به ویژه فیزیکی، دهم یا حتی 50 دقیقنقطه اعشار خیر، می توان به چنین دقتی دست یافت و روش سادهاویلر، اما شکاف باید به چند قسمت تقسیم شود؟! ...اگرچه با قدرت محاسباتی مدرن، این یک مشکل نیست - هزاران استوکر چینی سفینه فضاییتضمین!

و همانطور که عنوان به درستی نشان می دهد، هنگام استفاده از روش Runge-Kutta در هر مرحلهباید مقدار تابع را محاسبه کنیم 4 دفعه (بر خلاف محاسبه دوگانه در پاراگراف قبل). اما اگر چینی ها را استخدام کنید، این وظیفه کاملاً دشوار است. هر مقدار "یونانی" بعدی از مقدار قبلی به دست می آید - ما فرمول ها را می گیریم:
، جایی که ، جایی که:

آماده؟ خب پس شروع کنیم :)


به این ترتیب:

خط اول برنامه ریزی شده است و من فرمول ها را مانند مثال کپی می کنم:


فکر نمی کردم روش Runge-Kutta را به این سرعت تمام کنم =)

نقاشی معنی ندارد، زیرا دیگر نشانگر نیست. بیایید یک مقایسه تحلیلی انجام دهیم دقتسه روش، زیرا زمانی که راه حل دقیق مشخص باشد پس مقایسه نکردن گناه است. مقادیر تابع در نقاط گره به سادگی در همان اکسل محاسبه می شوند - زمانی که فرمول را پر کرده و آن را به بقیه تکرار می کنیم.

در جدول زیر مقادیر (برای هر یک از سه روش) و مربوطه را خلاصه می کنم اشتباهات مطلقمحاسبات تقریبی:


همانطور که می بینید، روش Runge-Kutta قبلاً 4-5 رقم اعشار صحیح را در مقایسه با 2 رقم اعشار صحیح روش بهبود یافته اویلر ارائه می دهد! و این تصادفی نیست:

- خطای روش "معمول" اویلر بیش از آن نیست گامپارتیشن ها و در واقع - به سمت چپ ترین ستون خطاها نگاه کنید - فقط یک صفر بعد از کاما وجود دارد که دقت 0.1 را به ما می گوید.

- روش پیشرفته اویلر دقت را تضمین می کند: (به 2 صفر بعد از اعشار در ستون خطای وسط نگاه کنید).

– در نهایت، روش کلاسیک Runge-Kutta دقت را تضمین می کند .

برآوردهای خطای بیان شده کاملاً در تئوری اثبات شده است.

چگونه می توانم همچنان دقت تقریب را بهبود بخشم؟ پاسخ کاملاً فلسفی است: کیفیت و / یا کمیت =) به ویژه، اصلاحات دقیق تری در روش Runge-Kutta وجود دارد. راه کمی، همانطور که قبلا ذکر شد، کاهش گام است، یعنی. در تقسیم یک بخش به تعداد بیشتری از بخش های میانی. و با افزایش این تعداد، خط شکسته بیشتر و بیشتر شبیه یک نمودار راه حل دقیق است و در محدوده- مطابقت دارد.

در ریاضیات به این خاصیت می گویند صاف کردن منحنی. راستی (خارج از موضوع کوچک)، به دور از همه چیز امکان "صاف کردن" وجود دارد - من خواندن جالب ترین مورد را توصیه می کنم ، که در آن کاهش "منطقه مطالعه" مستلزم ساده سازی موضوع مطالعه نیست.

این اتفاق افتاد که من فقط یک معادله دیفرانسیل و بنابراین چند نکته اضافی را تجزیه و تحلیل کردم. چه چیز دیگری را باید در عمل در نظر داشت؟ در شرایط مشکل، ممکن است یک بخش دیگر و یک پارتیشن دیگر به شما پیشنهاد شود، و گاهی اوقات عبارت زیر رخ می دهد: "در فاصله زمانی پیدا کنید، آن را به 5 قسمت تقسیم کنید." در این حالت باید مرحله پارتیشن را پیدا کنید ، و سپس طرح راه حل معمول را دنبال کنید. به هر حال ، شرط اولیه باید به شکل زیر باشد: ، یعنی "x صفر" معمولاً با انتهای سمت چپ بخش مطابقت دارد. به بیان تصویری، خط شکسته همیشه نقطه را "ترک" می کند.

مزیت بدون شک روش های در نظر گرفته شده این واقعیت است که آنها برای معادلات با سمت راست بسیار پیچیده قابل استفاده هستند. و یک اشکال مطلق - هر تفاوتی را نمی توان به این شکل نشان داد.

اما تقریباً همه چیز در این زندگی قابل تعمیر است! - بالاخره ما فقط بخش کوچکی از موضوع را در نظر گرفتیم و جمله من در مورد کتاب های چاق و بسیار چاق اصلا شوخی نبود. روش‌های تقریبی زیادی برای یافتن راه‌حل‌هایی برای DE و سیستم‌های آن‌ها وجود دارد که در آن‌ها، در میان چیزهای دیگر، از رویکردهای اساساً متفاوتی استفاده می‌شود. بنابراین، برای مثال، یک راه حل خاص می تواند باشد تقریبی با قانون قدرت. با این حال، این مقاله برای بخش دیگری است.

امیدوارم توانسته باشم ریاضیات محاسباتی خسته کننده را متنوع کنم و شما علاقه مند شده باشید!

با تشکر از توجه شما!