ebook archive
Login Form
Feed Display
| برترین اخبار و مقالات کامپیوتر |
|
Who's Online
8 مهمان حاضر| معادلات دیفرانسیل معمولی – کار با ode |
|
|
|
| نوشته شده توسط saeed | ||||||||||||||||||||||||||||||||||||||||
| پنجشنبه 05 فروردين 1389 ساعت 12:08 | ||||||||||||||||||||||||||||||||||||||||
|
توابع ODE در متلب بمنظور حل معادلات دیفرانسیل معمولی با شرایط اولیه تدارک دیده شده اند ویژگی که برای آنها در راهنمای متلب ذکر شده است، Solve initial value problems for ordinary differential equations بسته به نوع اصطلاحا سخت (stiff) و غیر سخت (Nonstiff) معادلات و نیز اهمیت دقت، odeهای متفاوتی بکار می روند. اصطلاح سخت (stiff) برای آندسته از معادلاتی بکار می رود که برای مثال در مقابل متغیر مستقلی همچون t چند متغیر وابسته همچون x وy و ... وجود دارد بگونه ای که اندازه مشتقات متغیرهای وابسته نسبت به متغیر مستقل بطور قابل ملاحظه ای متفاوت است در غیر اینصورت معادله غیرسخت (Nonstiff) نامیده می شود. برای توضیحات بیشتر در مورد ode ها باید به راهنمای متلب مراجعه نمایید. متلب نوع و محل بکارگیر آنها را در جدول زیر خلاصه کرده است.
می خواهیم در اینجا به ode45 بپردازیم که برای معادلات غیر سخت تدارک دیده شده و اساس آن روش رانگ کوتاست. برای آموزش نحوه استفاده از ode45 نوسانگر واندرپل تحت نیروی واداشته را در نظر می گیریم که معادله دیفرانسیل آن بصورت زیر نوشته می شود:
http://en.wikipedia.org/wiki/Van_der_Pol_oscillator http://mathworld.wolfram.com/vanderPolEquation.html
گام اول- بازنویسی مسئله بشکل مجموعه ای از معادلات مرتبه یک. در مورد نوسانگر واندرپل با تغییر متغیر y1'=y2 دو معادله دیفرانسیل مرتبه یک حاصل میشود،
گام دوم- کد نمودن ODE های مرتبه یک، پس از بازنویسی معادلات مطابق گام اول باید ان معادلات را برای بکارگیری ode45 کد نماییم. تابع باید بشکل زیر باشد،
دقت کنید که تابع حتما باید دو آرگومان یکی مربوط به متغیر مستقل (در اینجا t) و دیگری مربوط به متغیرهای وابسته (در اینجا y) داشته باشد حتی اگر هیچکدام در تابع های مرتبه یک ظاهر نشوند. کد زیر سیستم واندپل را تحت عنوان تابع vdp1 نشان میدهد. y(1) و y(2) ورودی های بردار دوعنصری y هستند.
گام سوم- استفاده از یک حل کننده (solver) برای مسئله، همانگونه که گفته شد میخواهیم از ode45 استفاده نماییم. تابع ode45 سه ورودی یا آرگومان دارد. اولین آرگومان تابعی است که آنرا گام دوم خلق کردیم، دومین آرگومان بازه مربوط به متغیر مستقل است که در مورد مسئله ما همان بازه زمانی t است و نهایتا آرگومان سوم بردار شرایط اولیه است. در این مثال بازه زمانی [0 100] و مقادیر اولیه y(1)=1.2 و y(2)=0 را مطابق زیر در ode45 قرار می دهیم،
در این مثال برای پذرفتن vdp1 بعنوان یک تابع ا @ استفاده شده است. خروجی ode45 برداری از زمان t و ماتریس پاسخ y اس. هر سر y مطابق با زمانیست که توسط سطر متناظر در t معرفی میشود. نخستین ستون y متناظر با y(1) و ستون دوم آن متناظر با y(2) است. گام چهارم- مشاهده خروجی، اینکار را براحتی با استفاده از plot می توان انجام داد.
با این توضیحات برنامه vdp1 با فرم نهایی و ساده زیر نوسانگر واندپل را در فضای فاز شبیه سازی میکند.
|
||||||||||||||||||||||||||||||||||||||||
| آخرین به روز رسانی در جمعه 10 ارديبهشت 1389 ساعت 07:36 |
مطالب پر بازدید سایت
- کتاب آموزش MATLAB
- شبكه هاي عصبي در Matlab
- آموزش كاربردي مباحث پيشرفته با Matlab
- رسم نمودارهای سه بعدی
- کاملترین مجموعه آموزشی MATLAB
- کتاب های الکترونیک -برنامه نویسی و روش های عددی در MATLAB
- download matlab 7.10 2010a
- معادلات دیفرانسیل معمولی – مسایل مقدار اولیه
- آموزش GUI (قسمت اول)
- برازش منحني چند جمله اي







