تبلیغات
آموزش مطلب - مطالب مرداد 1386

تعریف هندسه pde

نویسنده :امین باشی
تاریخ:دوشنبه 1 مرداد 1386-07:07 ق.ظ


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

http://www.mathworks.com/access/helpdesk/help/toolbox/pde/ug/bqivs1t-1.html

اگر ارل بالا را باز کنید میبینید که برای حل pde ابتدا باید ماتریس هندسه مسئله (Geometry Description matrix)  را بسازیم. بعد  با استفاده از دستور decsg این ماتریس را تجزیه میکنیم که به ماتریس حاصل ماتریس هندسه تجزیه شده میگویند(Decomposed Geometry matrix). این ماتریس ناحیهای (domain) که معادله بر روی آن حل می شود را مشخص میکند

مثال زیر روش بدست آوردن این دو ماتریس را نشان میدهد.

مثال)

s = tf('s');

sys = 1/(s+1)^2;

nyquist(sys)

می بینید که نایکویست این تابع شبیه قلب است؛ و همانطور که میدانید نمودار نایکویست در صفحه اعداد مختلط رسم میشود. برای حل  یک معادله پاره ای را بر روی این شکل باید آن را از فضای اعداد مختلط به فضای اعداد حقیقی تبدیل کنیم(جزییات کار به عهده خودتان).

w=-10:.1:10;

x=(1-w.^2)./(1+w.^2).^2;

y=2*w./(1+w.^2).^2;

plot(x,y)

بد نشد ولی یک مقدار تمیز کاری میخواهد.

w = [linspace(-5,-2,7) linspace(-1.9,-.2,20) -.15:.05:.15...

    fliplr(-linspace(-1.9,-.2,20)) fliplr(-linspace(-5,-2,7))];

x = (1-w.^2)./(1+w.^2).^2;

y = 2*w./(1+w.^2).^2;

حالا یک مقدار چرخش

xy = [0 x ;0 y ];

XY = [0 1;-1 0]*xy;

اگر به معادلات x,y دقت کنید می بینید هنگامی که w به سمت بینهایت میرود x,y برابر با صفر می شوند ولی در عمل نمی توان w را به سمت بی نهایت میل داد٬ پس صفر را خودمان اضافه کردیم.

هنوز یک مقدر پهن است.

XY = [0.7 0;0 1]*XY;

الان باید ماتریس هندسه را بنویسم

هر ستون این ماتریس مربوط به یک شکل است یعنی اگر بخواهیم معادله را همزمان برای دو شکل حل کنیم ماتریس دو ستون خواهد داشت.

در این مثال یک شکل داریم و ماتریس یک ستونی است.

اگر هندسه :

به شکل دایره باشد در سطر اول عدد ۱ ٬ در سطر دوم و سوم به ترتیب مختصات x,y مرکز دایره و در سطر ۴ شعاع دایره را می نویسیم.

به شکل چند ضلعی باشد در سطر اول عدد ۲ ٬ در سطر دوم تعداد اضلاع(n) ٬ در n سطر بعدی xها و در n سطر بعد از آن y ها می نویسیم.

به شکل چهار ضلعی باشد در سطر اول  عدد ۳ ٬ را می نویسیم. سطرهای بعدی را مانند حلت چند ظلعی پر می کنیم.

به شکل بیضی باشد در سطر اول عدد ۴ ٬ در سطر دوم و سوم به ترتیب مختصات x,y مرکز بیضی در سطر چهار و پنج اندازه قطر بزرگ و کوچک بیضی و در سطر ششم زاویه چرخش قرار می گیرد.

حالا میتوانیم ماتریس هندسه  بنویسیم.

شکل ما از نوع چند ضلعی است پس در سطر اول عدد 2 را مینویسیم.توابع x,y دو تا صفر دارند، یکی در بینهایت و یکی در منفی بینهایت ولی ما فقط یکی را اضافه کردیم چون هر نقطه را فقط 1 بار باید بیاوریم.

x = XY(1,:)';

y = XY(2,:)';

n = length(x);

gd = [2;n;x;y];

dl = decsg(gd);

تا اینجا توانستیم که ماتریس هندسه و ماتریس هندسه تجزیه شده را بدست آوریم. اگر به ارلی در اول مقاله آوردم نگاه کنید میبیند که 3 مرحله اول حل الگوریتم معادلات پارهای را انجام دادهایم. این 3 مرحله را میتوان در یک ام-فایل خلاصه کرد. برای نوشتن این ام-فایل از دستور wgeom استفاده میکنیم.

fid=wgeom(dl,'cardiodgeom')

این دستور یک ام-فایل با اسم cardiodgeom ایجاد میکند. اگر به هر دلیلی این فایل ایجاد نشود مقدار fid برابر با -1  میشود.

ادامه دارد...

 

 

 



نوع مطلب : حل pde 





All right reserved©2005 Amin Bashi