آموزش متلبتکنولوژی

آموزش روش اویلر در متلب (محاسبه معادلات دیفرانسیل)

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

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

روش اویلر

در اینجا چند روش به روش Forward Euler اضافه شده است که در همان دسته قرار می گیرند.

تفاوت رو به جلو
Euler-method-Matlab

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

تفاوت مرکزی
Euler-method-Matlab

روش اویلر در متلب

مثال روش تفاوت جلو

بیایید معادله زیر را در نظر بگیریم

مثال روش تفاوت جلو

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

Euler-method-Matlab

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

برای حل این معادله با استفاده از روش اویلر ، موارد زیر را انجام می دهیم

اگر فرمول اولر جلو را با ظاهری متفاوت بازنویسی کنیمEuler-method-Matlab

با جایگزینی این عبارت در معادله ای که سعی در حل آن داریم ، موارد زیر به دست می آید

Euler-method-Matlab

اگر در مورد این مطلب سوالی دارید در قسمت نظرات بپرسید

اگر آن را در نظر بگیریم

Euler-method-Matlab

و معادله را بر این اساس بازنویسی می کنیم ، بدست می آوریم

Euler-method-Matlab

با خیال راحت عبارت بالا را ساده کنید. در این مرحله ، ما آماده شروع برنامه نویسی در Matlab هستیم.

کد متلب:

h=0.1; % سایز هر گام
N=10; % تعداد گام ها
y(1)=1;
for n=1:N
y(n+1)= y(n)+h*(-6*y(n));
x(n+1)=n*h;
end
plot(x,y)

نمودار:

Euler-method-Matlab

بیایید اندازه گام ها را کاهش دهیم و ببینیم چگونه بر دقت تأثیر می گذارد

کد متلب

h=0.01; % سایز گام
N=100; % تعداد گام 
y(1)=1;
for n=1:N
y(n+1)= y(n)+h*(-6*y(n));
x(n+1)=n*h;
end
plot(x,y,'r')

نمودار

Euler-method-Matlab

این نتیجه گیری به ما می گوید که وقتی مقدار h را کاهش می دهیم ، خطا کاهش می یابد. آیا می توانیم بهترین نمودار خود را با نمودار دقیق مقایسه کنیم؟

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

Euler-method-Matlab

x=0:0.001:1;
y=exp(-6.*x);
plot(x,y,'g')

نمودار دقیق روش اویلر در متلب

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

برای توابع ساده مانند آنچه که ما اخیراً آزمایش کردیم ، استفاده از این روش اویلر می تواند به نظر دقیق برسد ، اما وقتی صحبت از سیستم های پیچیده می شود ، ممکن است این بهترین روش عددی برای تقریب رساندن نمودار ODE ها نباشد.

5 (1 نفر)

برای دریافت مطالب جدید کانال تلگرام یا پیج اینستاگرام ما را دنبال کنید.

محمد رحیمی

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

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *