تبلیغات آموزش مطلب
وبلاگ من
نویسنـــدگان :
امین باشی (73)
موضــــوع ها :
figure (14)
line (1)
uicontrol (1)
uipanel (1)
axes (2)
Organization of Graphics Objects (2)
uimenu (2)
خودم (7)
image (2)
surface (1)
patch (1)
text (5)
light (1)
plot object (2)
area (3)
bar (2)
convolution (1)
errorbar (2)
plot (1)
surf (1)
برازش منحنی (1)
workspace (1)
evalin (1)
GUIDE (1)
dsolve (1)
لاپلاس (1)
سری فوریه (3)
حل عددی IVP (2)
حل معادلات دیفرانسیل پاره ای وابسته به زمان در یک بعد (1)
BVP (1)
حل معادلات خطی (1)
solve (1)
حل pde (5)
subs (1)
آرشیـــو :
خرداد 1388 (1)
مرداد 1386 (1)
بهمن 1385 (2)
دی 1385 (2)
آذر 1385 (1)
شهریور 1385 (6)
مرداد 1385 (6)
تیر 1385 (5)
خرداد 1385 (1)
اردیبهشت 1385 (3)
فروردین 1385 (9)
اسفند 1384 (9)
شهریور 1384 (14)
مرداد 1384 (10)
تیر 1384 (3)
لینكدونی :
MATLAB Wiki
History of Iran
لورن
آرشیو لینكدونی
لینكستان :
متمتیکا
مهندسی صنایع - مهندس امیر
مهندسی شیمی ایران
اخبار نجوم
دانلود رایگان کتاب فیزیک به زبان فارسی
وبلاگ فیزیک ایران
مجله نجوم
انجمن علمی پژوهشی نجم شمال
ماه نو
مطلب نوین
آموزش متلب
میكرو روباتیك
معماری بی نظیر
انجمن مهندسی شیمی ایران
تکنولوژی برتر
گلچین دنیای اینترنت
پروژه های جالب الكترونیك
جادوهای ویندوز
Mathworks
وب كلاس
جنون اینترنت
فرهنگستان زبان و ادب پارسی
جسنجو :
خبرنامه :
نظر سنجی :
امروز :
بازدید های امروز :
بازدید های دیروز :
كل مطالب :
كل نظرها :
كل بازدید ها :
ایجاد صفحه : - ثانیه
معادلات هذلولی ۲
مثال مطلب قبلی در نظر بگیرید٬ یک بار دیگر می خواهیم این مثال را حل کنیم.
اولین تغییری که در حل مثال می دهیم٬ نحوه شبکه بندی مسئله است.به نظر می آید که تعداد گره ها برای حل مسئله کافی نباشد با استفاده از دستور refinemesh تعداد گره ها بیشتر می کنیم.با زیاد شدن گره ها تعتداد محاسبات و زمان آن بالا تر می رود ولی ممکن است که نتیجه کار چندان تغییر نکند و یا بهتر باشد که نوع شبکه را عوض کنیم. برای درک بهتر می توانید به کتاب هایی در مورد روش تفاضل محدود-متلب از این روش استفاده می کند- مراجعه کنید.
[p,e,t]=initmesh(g);
[p,e,t]=refinemesh(g,p,e,t);
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);
معادلات هذلولی
با استفاده از رابط گرافیکی 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
شاید شما روش من را نپسندید، اینكه یك چیزایی را توضیح نمی دهم و مطالبم گنگ به نظر میآید.
به نظر من اگر واقعا به این چیزها احتیاج دارید باید برایش زحمت بكشید.
نوشته های پیشین ...
هرگونه استفاده تجاری از مــطالب این سایت بصورت
كتاب٬ نشریه٬ وب و ... ممنوع میباشد
All right
reserved©2005
Amin Bashi