معادلات با درجه بالاتر
حل عددی معادلات دیفرانسیل با درجات بالاتر از یک
حتما می دانید که هر معادله دیفرانسیل با درجه n را می شود به n معادله درجه اول تبدیل کرد.از این روش برای حل معادلات با درجه بالاتر از یک استفاده می شود.
معادله زیر را در نظر بگیرید:
برای حل تحلیلی این معادله کافی است بنویسیم
f=dsolve('D2y =(y-6*Dy)/t/4','y(1)=2','y(2)=3');
ezplot(f,[1 , 10]);
و اما حل عددی :
فرض کنید
در نتیجه خواهیم داشت
و اگر آن را به شکل ماتریس بنویسیم
حالا باید تابع odefun را بنوسیم
function dy=odefun(t,y)
A = [0 1;1/t/4 -6/t/4];
dy = A*y;
و در خط فرمان مطلب دستور زیر را
[t,y]=ode45('odefun',[1 ,10],[2;3]);
متغییر y دو ستون دارد که ستون اول به y1 و ستون دوم یه y2 اختصاص دارد که y1 جواب معادله و y2 مشتق آن است.