مشاوره رایگان
دریافت لینک های دانلود دریافت پستی درب منزل مبلغ کل: تومان
جهت دریافت کد تخفیف به کانال تلگرام مراجعه و یا با پشتیبان آنلاین هماهنگ نمایید

آموزش متلب قسمت 24 : روش اویلر


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

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

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

روش اویلر

برای آشنایی بیشتر با روش اویلر میتوانید به ویدکیپدیا مراجعه کنید

در اینجا چند روش اضافه شده به روش forward اویلر وجود دارد که در همان دسته قرار می گیرند و در عین حال از روش های عددی استفاده می کنند: Forward difference، Backward Difference و Central Difference

.Forward Difference

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

Backward Difference

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

Central Difference

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

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

مثال Forward Difference

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

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

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

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

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

برای حل این معادله به روش اویلر بصورت زیر عمل می کنیم

اگر ما فرمول اویلر زیر را بازنویسی کنیم:

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

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

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

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

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

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

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

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

کد نویسی حل معادله

h=0.1; % step's size
N=10; % number of steps
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)

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

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

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

کد متلب

h=0.01; % step's size
N=100; % number of steps
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')

بردار به این صورت خواهد بود

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

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

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

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

کد در متلب

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

نمودار بصورت زیر خواهد بود

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

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

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

تولید شده توسط کلیک سایت

پشتیبانی آنلاین
آماده پاسخگویی هستیم
انتخاب تصویر جهت ارسال:
در حال ضبط صدا

(جهت توقف و یا لغو ضبط از دکمه های زیر استفاده کنید)

توقف و ارسال :
لغو ضبط
در حال حاضر تمامی کارشناسان آفلاین هستند. همواره می توانید با شماره تلگرام / واتساپ 09010005000 به صورت آنلاین با ما در ارتباط باشید. جهت ورود به واتساپ کلیک کنید
0 پیام جدید
پشتیبان در حال تایپ ...
ارسال تصویر ضبط صدا
0 کارشناسان آنلاین می باشند
این گفت و گو توسط پشتیبان به اتمام رسید