Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЧМ (МП-3) / Курсовые / MPM_1C / Московский институт электронной техники.doc
Скачиваний:
91
Добавлен:
17.04.2013
Размер:
348.16 Кб
Скачать

Подпрограммаpav_eps.M определения погрешности при заданном параметре сходимости.

M = 10; N = 10;

a = 1; b = 1;

h1 = a/M; h2 = b/N; q = h2/h1;

u = ones(M+1, N+1);

x = zeros(M+1,1);

y = zeros(N+1,1);

x = 0:h1:1;

y = 0:h2:1;

for i = 1:(M+1),

u(i,1) = 0;

u(i,N+1) = 0;

end

for j = 1:(N+1),

u(1,j) = 15*sin(pi*(j-1)*h2);

u(M+1,j) = 15*exp(pi)*sin(pi*(j-1)*h2);

end

k = 0;

MAX = 15;

A = 100;

a1 = 1/(2*(1+q^2));

a2 = q^2;

a3 = h2^2*a1;

for k = 1:MAX,

A = 0;

for i=2:M,

for j=2:N,

X = a1 * (u(i,j-1) + u(i,j+1) + a2*u(i-1,j) + a2*u(i+1,j)) - a3*30*(i/M*i/M+j/N*j/N-i/M-j/N);

X = mu*X + (1-mu)*u(i,j);

R = abs(X - u(i,j));

if (R > A) A = R; end

u(i,j) = X;

end

end

end

eps = A;

Подпрограммаpav_p.M доказывающая сходимость разностной схемы.

N=input('Input the size of matrix A: ');

q = 1;

a=4;

A=zeros(N*N,N*N);

for i=1:N,

A(N*(i-1) + 1,N*(i-1) + 1)=a;

A(N*(i-1) + 1,N*(i-1) + 2)=-q;

if (i~=N) A(N*(i-1) + 1,N*i + 1)=-1; end

if (i~=1) A(N*(i-1) + 1,N*(i-1) + 1 - N)=-1; end

for j=2:N-1,

A(N*(i-1) + j,N*(i-1) + j)=a;

A(N*(i-1) + j,N*(i-1) + j-1)=-q;

A(N*(i-1) + j,N*(i-1) + j+1)=-q;

if (i~=N) A(N*(i-1) + j,N*i + j)=-1; end

if (i~=1) A(N*(i-1) + j,N*(i-1) + j - N)=-1; end

end

A(N*i,N*i)=a;

if (i~=1) A(N*i,N*i-N)=-1; end

if (i~=N) A(N*i,N*i+N)=-1; end

A(N*i,N*i-1)=-q;

end

if(A==A') disp('OK:Matrix A is autocomplimentare'); end

for i=1:N^2,

B=A(1:i, 1:i);

if det(B)<=0

disp('ERROR: Matrix A is not positive definded!');

break;

end

end

B=A;

for i=1:N^2,

for j=i+1:N^2,

B(i,j) = 0;

end

end

C=B-0.5*A;

for i=1:N^2,

B=C(1:i, 1:i);

if det(B)<=0

disp('ERROR: Matrix B-1/2*A is not positive definded!');

break;

end

end

disp('If no ERROR occurs then system is good!');

Результат вычислений программы pavel.m при значенияхN=M=10, .

i \ j

0

1

2

3

4

5

6

7

8

9

10

0

0

4.6353

8.8168

12.135

14.265

15.000

14.265

12.135

8.8168

4.6353

0

1

0

6.292

11.932

16.453

19.365

20.376

19.385

16.490

11.976

6.292

0

2

0

8.6049

16.314

22.501

26.488

27.875

26.521

22.559

16.382

8.6049

0

3

0

11.808

22.399

30.885

36.351

38.250

36.390

30.953

22.479

11.808

0

4

0

16.219

30.786

42.432

49.929

52.529

49.971

42.506

30.872

16.219

0

5

0

22.273

42.297

58.275

68.553

72.112

68.596

58.350

42.385

22.273

0

6

0

30.559

58.057

79.962

94.044

98.913

94.086

80.035

58.142

30.559

0

7

0

41.825

79.600

109.60

128.88

135.54

128.92

109.67

79.680

41.886

0

8

0

57.301

109.02

150.09

176.47

185.57

176.50

150.15

109.09

57.354

0

9

0

78.428

149.19

205.37

241.44

253.88

241.46

205.40

149.24

78.464

0

10

0

107.26

204.02

280.81

330.12

347.11

330.12

280.81

204.02

107.26

0