معادلات هذلولی
با استفاده از رابط گرافیکی pdetool حل معادلات پاره ای بسیار ساده است اما بهتر است كه برای درك بهتر، مسئله را به صورت دستی و با نوشتن کد حل کنیم.
فرض کنید بخواهیم معادله موج زیر را حل کنیم :
معادله موج از نوع معادلات هذلولی است و برای حل آن از دستور hyperbolic استفاده میكنیم.
u1=hyperbolic(u0,ut0,tlist,b,p,e,t,c,a,f,d)
منظور از
u0 و ut0 شرایط اولیه
tlist بازه زمانی حل مسأله
b شرایط مرزی
p,e,t تقسیم بندی مسأله
c,a,f,d ضرایب معادله
می باشد
نوشتن شرایط مرزی را بعدا توضیح می دهم و لی برای این مسئله از pdetool استفاده می كنیم، یك pdetool باز كنید و یك مربع بكشید، شرایط مرزی را مشخص كنید و در متغیرهای b,g ذخیره كیند.
حل نهایی مسئله به این صورت میشود.
[p,e,t]=initmesh(g);
x=p(1,:)';
y=p(2,:)';
u0=atan(cos(pi/2*x));
ut0=3*sin(pi*x).*exp(cos(pi*y));
tlist=linspace(0,5,50);
uu=hyperbolic(u0,ut0,tlist,b,p,e,t,1,0,0,1);
for i=1:50
pdesurf(p,t,uu(:,i))
drawnow
end
شاید شما روش من را نپسندید، اینكه یك چیزایی را توضیح نمی دهم و مطالبم گنگ به نظر میآید.
به نظر من اگر واقعا به این چیزها احتیاج دارید باید برایش زحمت بكشید.
تبلیغات