13.04.2014 Views

Politechnika Poznańska Zastosowanie algorytmów genetycznych do ...

Politechnika Poznańska Zastosowanie algorytmów genetycznych do ...

Politechnika Poznańska Zastosowanie algorytmów genetycznych do ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

T2=100;<br />

%DZ_z=1.4;<br />

%DW_z=0.2;<br />

%DW_w=0.19;<br />

%1. współrzędne narożników<br />

xA=-1.0; yA=-1.0;<br />

xB=1.0; yB=-1.0;<br />

xC=1.0; yC=1.0;<br />

xD=-1.0; yD=1.0;<br />

del=2/PK_z;<br />

% 2. kontur zewnętrzny<br />

% 2.1 punkty kollokacji na konturze zewnętrznym<br />

for i=1:PK_z<br />

XAB(i)=xA+0.5*del+(i-1)*del; YAB(i)=yA;<br />

XBC(i)=xB;<br />

YBC(i)=yB+0.5*del+(i-1)*del;<br />

XCD(i)=xC-0.5*del-(i-1)*del; YCD(i)=yC;<br />

XDA(i)=xD;<br />

YDA(i)=yD-0.5*del-(i-1)*del;<br />

end;<br />

% 2.2 punkty źródłowe wokół konturu zewnętrznego<br />

del = (2 + 2*DZ_z)/PZ_z;<br />

for i=1:PZ_z<br />

XABZ(i)= xA-DZ_z+0.5*del+(i-1)*del; YABZ(i)= yA-DZ_z;<br />

XBCZ(i)= xB+DZ_z ;<br />

YBCZ(i)= yB-DZ_z+0.5*del+(i-1)*del;<br />

XCDZ(i)= xA-DZ_z+0.5*del+(i-1)*del; YCDZ(i)= yC+DZ_z;<br />

XDAZ(i)= xD-DZ_z;<br />

YDAZ(i)= yB-DZ_z+0.5*del+(i-1)*del;<br />

XZR(i) = XABZ(i); YZR(i) = YABZ(i);<br />

XZR(PZ_z+i) = XBCZ(i);<br />

YZR(PZ_z+i) = YBCZ(i);<br />

XZR(2*PZ_z+i) = XCDZ(i);<br />

YZR(2*PZ_z+i) = YCDZ(i);<br />

XZR(3*PZ_z+i) = XDAZ(i);<br />

YZR(3*PZ_z+i) = YDAZ(i);<br />

end;<br />

% 3. kontury wewnętrzne<br />

% 3.1 punkty kollokacji na konturach zewnętrznych<br />

for k=1:KW_cnt<br />

for i=1:PK_w<br />

rd=i*2*pi/PK_w;<br />

XKW(k,i)=xIC(k)+rIC*sin(rd);<br />

YKW(k,i)=yIC(k)+rIC*cos(rd);<br />

XKWA((k-1)*PK_w+i)=xIC(k)+rIC*sin(rd);<br />

end<br />

YKWA((k-1)*PK_w+i)=yIC(k)+rIC*cos(rd);<br />

VNY(k,i)=cos(rd); %skła<strong>do</strong>we wekt. norm.<br />

VNX(k,i)=sin(rd);<br />

end;<br />

% 3.2.1 punkty źródłowe wokół konturu wewnętrznego (wew kont. wew.)<br />

for i=1:PZ_ww<br />

rd=i*2*pi/PZ_ww;<br />

XKWZ(k,i)=xIC(k)+(rIC-1*DW_w)*sin(rd);<br />

YKWZ(k,i)=yIC(k)+(rIC-1*DW_w)*cos(rd);<br />

XZR(4*PZ_z+(k-1)*PZ_ww+i) = XKWZ(k,i);<br />

YZR(4*PZ_z+(k-1)*PZ_ww+i) = YKWZ(k,i);<br />

end;<br />

% 3.2.1 punkty źródłowe wokół konturu wewnętrznego (na zew. kont. wew.)<br />

for i=1:PZ_zw<br />

rd=i*2*pi/PZ_zw;<br />

XKWZ2(k,i)=xIC(k)+(rIC+1*DW_z)*sin(rd);<br />

YKWZ2(k,i)=yIC(k)+(rIC+1*DW_z)*cos(rd);<br />

XZR(4*PZ_z+KW_cnt*PZ_ww+(k-1)*PZ_zw+i) = XKWZ2(k,i);<br />

YZR(4*PZ_z+KW_cnt*PZ_ww+(k-1)*PZ_zw+i) = YKWZ2(k,i);<br />

end;<br />

%4. Tworzenie macierzy układu<br />

for i=1:PK_z<br />

% pętla przez PKT. KOL. na KONTURZE ZEWNĘTRZNYM<br />

iter=4*PZ_z+KW_cnt*PZ_ww;<br />

for j=1:iter %pętla przez PKT. ZR. dla KONT. ZEW.<br />

AP( i, j ) = f1(XAB(i), YAB(i), XZR(j), YZR(j)); % T1<br />

AP( PK_z+i, j ) = df1dx(XBC(i), YBC(i), XZR(j), YZR(j)); % DT/DX=0<br />

AP( 2*PK_z+i, j ) = f1(XCD(i), YCD(i), XZR(j), YZR(j)); % DT/DX=0<br />

AP( 3*PK_z+i, j ) = df1dx(XDA(i), YDA(i), XZR(j), YZR(j)); % SM<br />

end<br />

for j=1:KW_cnt*PZ_zw<br />

%pętla przez PKT. ZR. dla KONTURU WEWNĘTRZNEGO<br />

AP( i, 4*PZ_z+KW_cnt*PZ_ww+ j ) = 0; % Te punkty źródłowe nie <strong>do</strong>tyczą KONT.<br />

ZEW.<br />

119

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!