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

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

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

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

روش اویلر

در اینجا چند روش به روش 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 ها نباشد.

برای مشاهده توضیحات روی دوره مورد نظر کلیک کنید.

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

تصویر از محمد رحیمی

محمد رحیمی

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

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

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