Скачиваний:
45
Добавлен:
15.06.2014
Размер:
472 Кб
Скачать
☆

Метод продольно-поперечной прогонки (продолжение)

Для

j 2...m

 

решаем систему

 

 

 

 

 

 

 

 

 

 

 

ak u k 1 / 2

bk u k 1 / 2 ck

u

k 1 / 2

d k ;

 

 

 

 

 

 

 

 

 

 

 

ij

i 1, j

 

ij

i, j

 

ij

i 1, j

ij

 

 

 

 

 

 

 

 

u

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ck h

2

 

 

 

 

k

ak g

i 1 / 2, j

;

ck

g

i 1 / 2, j

; bk ak

 

; d k h2

 

f

 

L uk

ij

.

 

ij

 

ij

 

 

ij

 

 

ij

ij

ij

ij

 

hy ij

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

r

 

 

 

 

 

 

r

 

Для i 2...n решаем систему

ak 1

g

i, j 1/ 2

; ck 1

ij

 

ij

 

ak 1u k 1

bk 1u k 1

ck 1u k 1

 

d k 1

,

 

 

 

 

 

 

ij

i, j 1

ij i, j

 

ij

i, j 1

 

ij

 

 

 

 

 

 

 

 

 

 

 

 

 

h

2

 

 

 

 

 

 

 

 

k 1/ 2

 

g

 

;

bk 1 ak 1 ck 1

 

;

d k 1

h2

 

f

L uk 1/ 2

uij

.

 

 

 

 

 

i, j 1/ 2

 

ij

ij

ij

 

 

 

 

 

ij

 

 

 

hx ij

 

 

 

 

 

r

 

 

 

ij

r

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

06/25/19

21

Программная реализация

•for k=1:Kit

•

ks(1)=…;

et(1)=…;

•

for j=2:M1

for i=2:N1

•a=…b=…c=…d=…;

•z=b+a*ks(i-1);

•ks(i)=-c/z; et(i)=(d-a*et(i-1))/z;

•end;

•u(N1,j)=et(N1);

•For i=N:-1:1

•u(i,j)=ks(i)*u1(i+1,j)+et(i);

•End; end; end; (ij)

•

ks(1)=…;

et(1)=…;

•

for i=2:N1

for j=2:M1

•a=…b=…c=…d=…;

•z=b+a*ks(j-1);

•ks(j)=-c/z; et(j)=(d-a*et(j-1))/z;

•end;

•u(I,M1)=et(M1);

•For j=M:-1:1

•u(i,j)=ks(j)*u1(i,j+1)+et(j+1);

•End; end; end; (ij)

•Plot(x,u1);

•u=u1;

•t=t+tau;

•end;

06/25/19

22

Конец темы 6

• Ваши вопросы

06/25/19

23