- y = a 1+ a 2 x , .2. a 1 a 2 [ xi 1, xi ]
.
- [ xi 1, xi ]
, - , . .
x | 0 | 1 | 2 | 3 | 4 |
y | 2 | 0.5 | 1 | 4 | 4.5 |
- = 1.5.
:
[0, 1]
,
[1, 2]
,
[2, 3]
,
[3, 4]
.
, -
x = 1.5, [1, 2] y (1.5) = 0.5 + 0.5(1.5 1) = 0.75.
(J.L.Lagrange, 1795)
, j k (x), [ x 1, xn ], ,
.
a 1, a 2,..., an , n , j k (x) (n 1)
,
,
.
.3. , xi , k -, .
,
.
.4.
x | 0 | 1 | 2 | 3 |
y | 2 | 0.5 | 1 | 4 |
= 1.5.
:
,
,
.
:
|
|
x = 1.5
(I.J.Schoenberg, 1946)
, , , , . [ x 1, x 2], [ x 2, x 3],,[ xi, xi+ 1],,[ x n 1, x n ]
,
,
,
, , , (. .5).
. ai (i =1,2,,4(n 1)) . ,
,
.
(2 n 2) .
, , , , . , .
,
.. (2 n 4) . , (4 n 6) ai . ( 4- )
.
. , ,
.
, ,
.
4(n 1) , . , , , .. .
x | 0 | 1 | 3 |
y | 2 | 0.5 | 4 |
(. ) = 1.5.
8- , [0, 1] [1, 3]
,
.
, ,
,
,
,
.
, ,
1 (x = 0):
,
2 (x = 1): ,
,
,
,
3 (x = 3): ,
.
, (. .6)
|
|
.
, , ,
.
Ÿ - .
a 1= 2, a 2=2.5, a 3= 0.9267, a 4= 0.07333,
a 5= 0.5, a 6= 0.4267, a 7= 1.147, a 8= 0.02917.
,
,
.
Ÿ = 1.5
.
. IMSL , Csdec Csval
Subroutine Csdec(Ndt,Xdt,Fdt,Ilt,Dlt,Irt,Drt,Brk,CSc),
Function Csval(x,Nint,Brk,CSc).
Csdec , Csval .
:
Ndt - (Integer*4);
Xdt - Ndt , ( , ) (Real*4);
Fdt - Ndt , , Xdt (Real*4);
Ilt - (Integer*4);
Dlt - (Real*4);
Irt - (Integer*4);
Drt - (Real*4);
Brk - Ndt , , Xdt (Real*4);
CSc - 4´Ndt, (Real*4);
x - , (Real*4);
Nintv - , (Ndt1) (Integer*4).
(Ilt Irt) :
0 - ( Dlt Drt );
1 - ( Dlt Drt);
2 - ( Dlt Drt).
(Real*8) DCsdec DCsval.
, :
- -
Subroutine Lin_int(n,X,Y,xt,yt);
-
Subroutine Lagrang(n,X,Y,xt,yt);
-
Subroutine Spline(n,X,Y,tgn,tgk,m,A,*);
Function Spline_0(n,X,m,A,xt).
:
n - (Integer*4);
X - n , (Real*4);
Y - n , (Real*4);
xt - , (Real*4);
yt - (Real*4);
* - , , ;
tgn - (Real*4);
tgk - n- (Real*4);
m - (m=4´(n-1)) (Integer*4);
|
|
A - m , (Real*4);
Spline Spline_0. Spline , Spline_0 .
. [1,4] ,
y = x 3 7.3 x 2+ 16.8 x 12.2
. 11 .
. -. 101- . . , . , .
Character Nt1*47, Nt2*43
Real*4 Xp(11),Yp(11),Xi(101),Yi(101),Ym(2,101)
a = 1.
b = 4.
Do i=1,11
x = a + (b-a)*(i-1)/10
Xp(i) = x
Yp(i) = x**3 - 7.3*x**2 + 16.8*x - 12.2
Enddo
Do i = 1, 101
x = a + (b-a)*(i-1)/100
Call Lin_int(11,Xp,Yp,x,y)
Xi(i) = x
Yi(i) = y
Enddo
Nt1 = ' .'
Call Graf_1P(101,Xi,Yi,11,Xp,Yp,'x','y',Nt1,47)
Do i = 1, 101
x = Xi(i)
Ym(1,i) = x**3 - 7.3*x**2 + 16.8*x - 12.2
Ym(2,i) = Yi(i)
Enddo
Nt3 = ' .'
Call Graf_1_9(2,101,Xi,Ym,'x','y',Nt2,43)
Stop
End
, , .7 8.
.7.
.8.
- (. .8). , Lagrang. .
Character Nt1*47, Nt2*43
Real*4 Xp(11),Yp(11),Xi(101),Yi(101),Ym(2,101)
a = 1.
b = 4.
Do i=1,11
x = a + (b-a)*(i-1)/10
Xp(i) = x
Yp(i) = x**3 - 7.3*x**2 + 16.8*x - 12.2
Enddo
Do i = 1, 101
x = a + (b-a)*(i-1)/100
Call Lagrang(11,Xp,Yp,x,y)
Xi(i) = x
Yi(i) = y
Enddo
Nt1 = ' .'
Call Graf_1P(101,Xi,Yi,11,Xp,Yp,'x','y',Nt1,47)
Do i = 1, 101
x = Xi(i)
Ym(1,i) = x**3 - 7.3*x**2 + 16.8*x - 12.2
Ym(2,i) = Yi(i)
Enddo
Nt3 = ' .'
Call Graf_1_9(2,101,Xi,Ym,'x','y',Nt2,43)
Stop
End
.9 10.
.9.
.10.
.10 . .
Character Nt1*47, Nt2*43
Real*4 Xp(11),Yp(11),Xi(101),Yi(101),Ym(2,101),Ai(40)
a = 1.
b = 4.
Do i=1,11
x = a + (b-a)*(i-1)/10
Xp(i) = x
Yp(i) = x**3 - 7.3*x**2 + 16.8*x - 12.2
EndDo
Call Spline(11,Xp,Yp,5.0,6.5,40,Ai,*10)
Do i = 1, 101
x = a + (b-a)*(i-1)/100
Xi(i) = x
Yi(i) = Spline_0(11,Xp,40,Ai,x)
EndDo
|
|
Nt1 = ' .'
Call Graf_1P(101,Xi,Yi,11,Xp,Yp,'x','y',Nt1,47)
Do i = 1, 101
x = Xi(i)
Ym(1,i) = x**3 - 7.3*x**2 + 16.8*x - 12.2
Ym(2,i) = Yi(i)
EndDo
Nt3 = ' .'
Call Graf_1_9(2,101,Xi,Ym,'x','y',Nt2,43)
Go to 12
10 Write(*,*) '*** ***'
12 Stop
End
5.
, . , , . 譭 , . Ÿ , .1. .
. :
- , , ;
- .
, . . , , [ x 1, x n ]
.
φ k (x) ,
φ 1(x) = 1, φ 2(x) = x, φ 3(x) = x 2, φ 4(x) = x 3,,
,
.
. , , .
(1794) (A.M.Legendre, 1805)
,
Δ i, .2,
.
F c 1, c 2,..., c m. , F, . , c 1, c 2, ..., c m, F. .
F c 1, c 2, ..., c m
.
, F, , . F , n m
,
,
.
, 8- .3, = 1.5.
, , , . . 0 2, 2 4. ,
.
, . , .
|
|
F
, .
i | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
x | 0.5 | 0.5 | 1 | 1.5 | 1.5 | 2.5 | 3.5 | 4 |
y | 0.9 | 0.8 | 0.5 | 0.5 | 0.4 | 0.4 | 0.5 | 0.5 |
c 1 c 2,
,
.
c 1= 0.1047, c 2= 0.4013.
,
,
= 1.5 y (1.5) = 0.4246.
. IMSL Fnlsq, :
Subroutine Fnlsq(Fi,Icp,Nbs,Ndt,Xdt,Fdt,Iwt,Wgh,C,Ss).
:
Fi - -, (Real*4);
Icp - (Integer*4), 0 1, , Icp=0
C(1)*Fi(1,x)+C(2)*Fi(2,x)++C(Nbs)*Fi(Nbs,x),
Icp=1
C(1)+C(2)*Fi(1,x)+C(3)*Fi(2,x)++C(Nbs+1)*Fi(Nbs,x);
Nbs - (Integer*4);
Ndt - (Integer*4);
Xdt - ( Ndt ) (Real*4);
Fdt - ( Ndt ) (Real*4);
Iwt - (Integer*4) , , F , wi (, )
,
Iwt=0 wi = 1 ( ), Iwt=1 Wgh;
Wgh - ( Ndt ) (Real*4), Iwt=0, 1;
C - ( Icp+Nbs ) (Real*4), Icp=1, C(1) , C(Icp+i) i - ;
Ss - F (Real*4).
- Fi
Function Fi(k,x)
select case(k)
case(1)
Fi =..............
..................
case(Nbs)
Fi =..............
end select
Return
End
k - (k=1,2,,Nbs) (Integer*4);
x - (Real*4).
, .
(Real*8) DFnlsq.
, :
Subroutine Mnk(n,X,Y,m,C,Func_Mnk,*).
:
n, m - (Integer*4);
X, Y - ( n ) (Real*4);
Func_Mnk - ;
C - ( m ) (Real*4);
* - , , .
Func_Mnk :
Subroutine Func_Mnk(m,x,Fi)
Real*4 Fi(m)
Fi(1)=..............
....................
Fi(m)=..............
Return
End
x - , (Real*4);
Fi - x ( m) (Real*4).
. , [%] 11-2-300 α, , .4. ( α0= 0.4)
.
.4.
. ,
External Fu
Real*4 Xm(20),Ym(20),Cm(3),Fi(3),Xgr(101),Ygr(101)
Open(5, file='dat_5.txt')
Read(5, 1) (Xm(i), Ym(i), i = 1, 20)
1 Format(/(8X, 2F10.4))
Call Mnk(20,Xm,Ym,3,Cm,Fu,*4)
Do 2 n = 1, 101
x = 0.4 + 0.012*(n-1)
Call Fu(3,x,Fi)
y = Cm(1)*Fi(1)+Cm(2)*Fi(2)+Cm(3)*Fi(3)
Xgr(n) = x
2 Ygr(n) = y
Call Graf_1P(101,Xgr,Ygr,20,Xm,Ym,'a','C','1',1)
Go to 5
4 Write(*,*) ' *** ***'
5 Close(5)
Stop
End
Subroutine Fu(m, Alfa, Fi)
Real*4 Fi(m)
Pi = 3.141592
Ao = 0.4
Fi(1) = exp(-6.*(Alfa-Ao)**2)
Fi(2) = cos(Pi*(Alfa+Ao)/2)
Fi(3) = 1.
Return
End
dat_5.txt ,
0.4 14.0
0.45 14.0
0.5 14.0
0.55 13.0
0.6 12.0
0.6 11.0
0.65 10.0
0.7 8.0
0.8 7.0
0.8 5.0
0.85 5.0
0.9 3.0
0.95 2.0
0.95 1.0
1.0 1.0
1.1 1.0
1.1 0.0
1.2 0.0
1.4 0.0
1.6 0.0
(. .5) :
|
6. 1-
1-
x, y . y = y (x), (a, b). . y = y (x, C), C . (. .1), . , C.
.
(A.L.Cauchy, 17891857). f (x, y) f (x, y)/ y (x 0, y 0).
, : . , (. .2). , . , . , , .
(L.Euler, 1768)
,
,
,
k = 0 .3. (x 0, y 0) dy/dx f (x, y), . x 1 = x 0+ h. k = 0, 1, 2,
,
.
, , y = a 1+ a 2 x. ε (xk +1, h) h 2. , , , [ xk, xk +1]. .3 , [ xk, xk +1]. x = xk +1 . , ( , ..).