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

وقتی که می خواهیم به صورت تحلیلی از مطلب استفاده کنیم باید از Symbolic Math Toolbox استفاده کنیم . این جعبه ابزار مجموعه ای از دستورات مطلب است که برای تعریف و کار با متتغیرها به صورت نمادین جمع آوری شده اند.

 

a=sqrt(sym(2))

f = sym(‘x^2 + x + 1′)

ezplot(f)

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

dsolve(‘Dy=x’)

ans =

x*t+C1

حتما می دانید که عملگر D هم ارز با dy / dx است و هدف ازدستور بالا یافتن جواب معادله dy/dx=x ؟!

متغیر پیش فرض این دستور t است بنابراین x در دستور بالا به صورت یک ثابت عمل می کند.

dsolve(‘Dy=x’,’x’)

ans =

1/2*x^2+C1

پس هنگامی که متغیر مستقل معادله، t نباشد حتما باید ذکر شود.

در بسیاری از موارد جواب خصوصی معادله مورد نیاز است؛ فرض کنید بخواهیم معادله D2y=x را حل کنیم بطوریکه

y(1)=3

y(2)=5

برای اینکار از این حالت دستور dsolve استفاده می کنیم

dsolve(‘D2y=x’,’y(1)=3,y(2)=5′, ‘x’)

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

r = dsolve(‘eq1,eq2,…’, ‘cond1,cond2,…’, ‘v’)
r = dsolve(‘eq1′,’eq2′,…,’cond1′,’cond2′,…,’v’)

منظور از v متغیر مستقل، cond شرط اولیه و eq معادله دفرانسیل مورد نظر است.

فزض کنید بخواهیم دستگاه معادلات دیفرانسیل زیر را حل کنیم(متغیر مستقل را t فرض کنید).

Dx = y

Dy=-x

به این صورت عمل می کنیم

r=dsolve(‘Dx = y’, ‘Dy = -x’)

2 دیدگاه دربارهٔ «حل معادلات دیفرانسیل معمولی با متلب»

دیدگاه‌ خود را بنویسید

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