.


:




:

































 

 

 

 


. : .. , ,

 

 

2010

 

: .. , , . .-..

5 , .., 2010 10.

 

 

c 2- .

 

 

, 2010

: -

: .

 

 

. (, t), D = { (, t)|0 < < , 0 < t < } (1) u (x, t) = f(x) (2)

. (3)

(1)(3) , , , (q), .

. tkt (1)

k =1.

D = { (, t))|0 < < , 0 < t < } h τ t (. 1). c (x1,t1), (xi,tj), , u(x, t) uij. xi=ih, i=0,1,,n, h=a/n, tj= jτ, j=0,1,,m, τ=T/m.

(1) , . 1 . :

λui+1,j (1+2λ) ui, j + λui-1,j = ui,j 1 (4)


(1) (τ + h2). λ = τ / h2.

. 1 . 2

(4) (1) , (4) uij.

. (5)

(4)(5) , uij (4). (4) , (4) . , , j, j 1.

, . (j = 0) ui0 = f (xi). (4)(5).

(4)

ai ui-1 2bi ui + ci ui+1 = fi , i= 1, 2, , n-1 (6)

c0u1 2b0u0 = f0 (7)

aNuN-1-2bNuN=fN. (8)

u0, u1, u2 ,...

:

ui-1=iui+Qi(*)

u0=c0/2b0·u1+(-f0/2b0) (9)

1 = c0 /2b0, Q1 = - f0 / 2b0;

i, Qi , (*) (6):

ai (i ui + Qi) 2bi ui + ci ui+1 = fi ,

(ai i 2bi) ui + ci ui+1 = fi ai Qi

ui =

ui = i+1ui+1 + Qi+1,

1, Q1, 2, Q2, ..

uN-1 = PN uN +Q N;

uN-1 = 2bN /aN ·uN + fN /aN;

.

: uN =

uN (*) ui i = N-1 0.

, ui .

(4) λ = τ / h2 > 0. (4) ,
(1) , . 2.

λ < 1/2, . . τ < h2 /2. , τ, . , , τ , . , . (4) . , h, τ → 0 (4) (5) (1)(3).

(1)(3) CALC.

CALC (4) .

: h ; τ t; N ; U N + 1 , CALC ; , Q N 1 / /.

: U N + 1 ( ), .

CALC :

1) U, P, Q:

2) , , N;

3) U .

. CALC, 2- D = { (, t)|0 < < , 0 < t < }. .

1. , CALC . 1.

2. CALC .

3. - , F(x) u (x, 0).

4. .

5. u .

: X [ 0, 1 ] .

u(, 0) = f () . q=1000, Ψ=100, α = 100.

 

 

1. .., ... . .: . .- . . - 1989 ., 430 .

2. .. / . ., . . , .. . .4-; . .: . . 2006 . 636 .

1

Pascal

 

program PAR_5;

const ht=0.02;

n=10;

hx=1/n;

var j,i,i1,N1,N2:integer;

x,y,t,T1,al,B1,A1:real;

u:array [0..n] of real;

P:array [0..n] of real;

Q:array [0..n] of real;

XP:array [0..n] of real;

begin

XP[0]:=0.0;

XP[10]:=1.0;

u[0]:=10;

u[10]:=20;

T1:=9*HT;

T:=0;

for i:=1 to n do

begin

x:=i*HX;XP[i]:=x;

u[i]:=f(x);

end;

writeln(T:8:5);

for i:=0 to n do write(u[i]:6:3);

writeln;

for j:=1 to 40 do

begin

calc; T:=T+HT;

if (T>T1) then begin writeln(T:8:5);

for i:=0 to n do write(u[i]:6:3);

writeln;

T1:=T1+10*HT;end;

end;

end.

 

 

5

 



<== | ==>
 | - . . . .
:


: 2016-12-17; !; : 246 |


:

:

, , .
==> ...

1727 - | 1429 -


© 2015-2024 lektsii.org - -

: 0.022 .