.


:




:

































 

 

 

 





, [ xk, xk +1]. .4 k = 0, .

[ xk, xk +1]

,

,

,

.

,

.

f (x, y),

, ,

, .

. h, . ε (xk +1, h) h 3, , y = a 1+ a 2 x + a 3 x 2. , , .

(C.Runge 1895, W.Kutta 1901)

, . : 4- , . , .5 k = 0, h/ 2

,

, ,

.

,

.

(), h,

,

,

.

h

.

, ,

, ,

,

, ,

.

h ε (xk +1, h), h 5. , y = a 1+ a 2 x + a 3 x 2+ a 4 x 3+ a 5 x 4.

, , f (x, y) [ xk, xk +1]. h 2

,

.

Ck +1 y , .

,

4-

,

Ck +1 - .

, xn

,

m = 2 , m = 3 m = 5 4- , C max q

, .

. q , . q , .

, , , . , ( ), 1. , ,

,

y (xk, h) y (xk, 2 h) , xk , .

[ x 0, xn ] , ,

.

y (0) = 0 [0, 0.4] h = 0.1.

1. .

.

, h = 0.1

,

,

,

,

.

h = 0.2

,

,

.

h = 0.1

,

,

,

.

2. .

h = 0.1

,

,

, , h = 0.1 h = 0.2

,

,

h = 0.1

,

,

,

,

.

. , :

- ࠠ Subroutine Eu_1(d,m,F,x,y);

-

Subroutine EuY_1(d,m,F,x,y);

- - 4- Subroutine RK4_1(d,m,F,x,y).

:

d - (Real*4);

m - (Integer*4), h d m ;

F - Function, f (x, y) ;

x - (x + d) (Real*4);

y - y (x) (Real*4).

F External , ,

Function F(x,y)

F =...........

Return

End

.

, , .

. , 1%.

. Eu_1, , Fun Function, . 1%, .

 

External Fun

Real*4 Xm(51), Ys(51), Yn(51), Eps(51)

Open(6, file='res_6.txt')

c h=0.1

x = 0.

y = 0.

Xm(1) = x

Ys(1) = y

Do k = 2, 51

Call Eu_1(0.1, 1, Fun, x, y)

Xm(k) = x

Ys(k) = y

EndDo

c h=0.05

x = 0.

y = 0.

Yn(1) = y

Do k = 2, 51

Call Eu_1(0.1, 2, Fun, x, y)

Yn(k) = y

EndDo

c h=0.05

Ymax = 0

Do k = 1, 51

If(Abs(Yn(k)).gt.Ymax) then

Ymax = Abs(Yn(k))

Endif

EndDo

Do k = 1, 51

Eps(k) = Abs(Ys(k) - Yn(k))/Ymax

EndDo

Write(6,2) (Xm(k), Yn(k), Eps(k), k = 1, 51)

2 Format(2X, 'x=', F4.1, ' y=', F6.4, ' e=', F6.4)

Call Graf_1(51, Xm, Yn, 'x', 'y', ' ', 1)

Close(6)

End

Function Fun(x, y)

Pi = 3.1415927

Fun = 1 + Exp(-x)*Cos(Pi*x) - y

Return

End

rs_6.txt.

x=.0 y=.0000 e=.0000

x=.1 y=.1920 e=.0081

x=.2 y=.3500 e=.0162

x=.3 y=.4724 e=.0235

x=.4 y=.5605 e=.0293

x=.5 y=.6182 e=.0334

..........................

x= 5.0 y=.9944 e=.0011

, 3.59% x = 0.7 . . , h = 0.0125.

, , .6.

.6.


7.

 

,

, ,

, , .

x, y 1, y 2, ..., y n . y 1= y 1(x), y 2= y 2(x),..., y n = y n (x), (a, b) .

. , , . .

,

, , , , ,

, , , , ,

, ,

.

, 1- . , . . , y (x) f (x, y) - y f, n y 1(x), y 2(x),..., y n (x) f 1(x, y 1,..., y n), f 2(x, y 1,..., y n),..., f n (x, y 1,..., y n), . .

,

, ,

x.

1- . (n +1)- x, y 1, y 2,..., y n, - y.

, ,

, ,

, ,

, .

-

- 4-

, ,

,

, ,

.

, 4- , (n +1)- . , x.

- n

, ,

,

, ,

.

, 1- , . h 2

.

,

.

Ck +1 - y , (n +1)- x, y 1, y 2,..., y n, .

h 3

.

,

,

4- h 5

,

Ck +1 - .

. n -

,

m = 2 , m = 3 m = 5 4-

, .

q . , .

. , , ,

,

y (xk, h) y (xk, 2 h) , xk , .

[ x 0, xn ] 1-

.

y (0) = 0, [0, 0.4] h = 0.1.

2- 1- .

,

, .

, .

, h = 0.1

h = 0.2

h = 0.1

,

,

,

,

,

,

,

,

,

,

.

, 0.1 [0, 0.4] , 5.1%.

. IMSL 1- -- 5- 6-

Subroutine Ivprk(Ido,n,Fun,x,xd,Eps,Param,Y).

:

Ido - , (Integer*4);

n - (Integer*4);

Fun - Subroutine, . External , Ivprk. Fun

Subroutine Fun(n,x,Y,F)

Dimension Y(n), F(n)

F(1) =...........

..................

F(n) =...........

Return

End

F - f (x, y) (Real*4).

x - , (Real*4);

xd - (Real*4);

Eps - (Real*4);

Param - 50- , . , , . [6] (Real*4);

Y - (n ) y (x) (Real*4).

Ido 1 . 2, .

Ivprk . Ido=3. . . [8].

(Real*8) DIvprk.

, :

- Subroutine Eu_n(n,d,m,Fun,x,Y);

-

Subroutine EuY_n(n,d,m,Fun,x,Y);

- - 4-

Subroutine Rk4_n(n,d,m,Fun,x,Y).

:

n - (Integer*4);

d - (Real*4);

m - , (Integer*4);

Fun - Subroutine, f (x, y) . Ÿ ;

x - (x + d) (Real*4);

Y - (n ) y (x) (Real*4).

.

,

. , 0.1%.

. .

.

1-

, .

, . 0.1%, .

External Fun

Real*4 Xm(61),Y(4),Ys(4,61),Yn(4,61),EpsMax(4),

* Eps(61),Ym(61)

Open(6, file='res_7.txt')

c h=0.1

x = 0.

Y(1) = 0.

Y(2) = 1.

Y(3) =-2.

Y(4) = 3.

Xm(1) = x

Do i = 1, 4

Ys(i,1) = Y(i)

Enddo

Do k = 2, 61

Call Eu_n(4, 0.1, 1, Fun, x, Y)

Xm(k) = x

Do i = 1, 4

Ys(i,k) = Y(i)

Enddo

EndDo

c h=0.05

x = 0.

Y(1) = 0.

Y(2) = 1.

Y(3) =-2.

Y(4) = 3.

Do i = 1, 4

Yn(i,1) = Y(i)

Enddo

Do k = 2, 61

Call Eu_n(4, 0.1, 2, Fun, x, Y)

Do i = 1, 4

Yn(i,k) = Y(i)

Enddo

EndDo

c h=0.05

Ymax = 0

Do k = 1, 61

Do i = 1, 4

If(Abs(Yn(i,k)).gt.Ymax) Ymax = Abs(Yn(i,k))

Enddo

EndDo

Do k = 1, 61

Do i = 1, 4

EpsMax(i) = Abs(Ys(i,k) - Yn(i,k))/(3*Ymax)

Enddo

Eps(k) = EpsMax(1)

Do i = 2, 4

If(EpsMax(i).gt.Eps(k)) Eps(k) = EpsMax(i)

Enddo

Ym(k) = Yn(1,k)

EndDo

Write(6,2) (Xm(k), Ym(k), Eps(k), k = 1, 61)

2 Format(2X, 'x=', F4.1, ' y=', F6.4, ' e=', F7.5)

Call Graf_1(61, Xm, Ym, 'x', 'y', 'N', 1)

Close(6)

Stop

End

Subroutine Fun(n, x, Y, F)

Dimension Y(n), F(n)

F(1) = Y(2)

F(2) = Y(3)

F(3) = Y(4)

F(4) = 2*Y(3) - Y(1)

Return

End

res_7.txt.

123456789............... ( )

x=.0 y=.0000 e=.00000

x=.1 y=.0950 e=.00139

x=.2 y=.1715 e=.00245

x=.3 y=.2321 e=.00324

x=.4 y=.2793 e=.00380

x=.5 y=.3151 e=.00419

x=.6 y=.3413 e=.00442

...........................

x= 6.0 y=.0135 e=.00017

, 0.455% x = 0.8 . . , h = 0.01.

, , .1.

.1.

 

1. .., .., .. . 3- ., . . .: . , 2003. 632 .

2. .. . .: , 1977. 303 .

3. .. . .: , 1982. 254 .

4. .., .. . .: , 2004. 480 .

5. : . . ... .: , 1979. 288 .

6. .. . IMSL. 1. .: , 2000. 448 .

7. .. . IMSL. 2. .: , 2001. 320 .

8. .. . IMSL. 3. .: , 2001. 368 .

 

 

充..

3

1.

5

 
2. ...

13

 
3.

31

 
4.

52

 
5.

68

 
6. 1-

83

 
7. ⅅ.

98

 

 

 

.

119

         

 





:


: 2018-10-14; !; : 1327 |


:

:

, .
==> ...

1877 - | 1673 -


© 2015-2024 lektsii.org - -

: 0.31 .