xxxP xxxP xP... Sauđây là ch ng trình vi t theo thu t toán trên... Ch ng trình sau mô t thu t toán trên.
Trang 1CH NG 5: N I SUY VÀ X P X HÀM
§1 N I SUY LAGRANGE
Trong th c t nhi u khi ph i ph c h i m t hàm y = f(x) t i m i giá tr x
lo t các đi m xi ( i= 0, 1, 2 ) và t i các đi m xinày giá tr c a hàm là yi = f(xi)
đã bi t Bây gi ta c n tìm đa th c :
Pn(x) = aoxn+ a1xn 1 + …+an 1x + an
sao cho Pn(xi) = f(xi) = yi Đa th c Pn(x) đ c g i là đa th c n i suy c a hàm
Horner cũng đ n gi n
)xx) (
xx)(
xx) (
xx(
)xx) (
xx)(
xx) (
xx(L
n i 1 i i 1 i i 0 i
n 1
i 1
i 0
ij1)x
i i
n(x) (x )L (x)
P
Ta th y Pn(x) là m t đa th c b c n vì các Li(x) là các đa th c b c n vàtho mãnđi u ki n Pn(xi) = f(xi) = yi Ta g i nó làđa th c n i suy Lagrange
1 0
xx
xxL
−
−
=
0 1
0 1
xx
xxL
0 1
1 0
1 0
1
xx
xxyxx
xxy)
Trang 2)xx)(
xx(L
2 0 1 0
2 1
xx(
)xx)(
xx(L
2 1 0 1
2 0
xx(
)xx)(
xx(L
1 2 0 2
1 0
Trang 3printf( So cap (x,y) nhieu nhat la max = 20\n );
printf( So diem da cho truoc n = );
Trang 4printf( Chi so cua phan tu can sua i = );
Trang 5if (i!=k)g0=g0*(x0 x[i])/(x[k] x[i]);
Gi s hàm y = y(x) có giá tr cho trong b ng sau :
T hi u c p 1 c a y t i xi, xj là :
j i
j i j i
xx
yy]x,
Trang 6k i
k j j
i k
j i
xx
]x,x[y]x,x[y]x,x,
0 n
xx
)x(P)x(P]x,
xx
]x,x[P]x,x[P]x,x,
∆yi= yi+1 yi
và sai phân ti n c p hai t i i:
∆2yi= ∆(∆yi) = yi+2 2yi+1 + yi
và sai phân ti n c p n là :
Trang 7x
1 0
∆
=
2 2 1 0
h2
yx
,x,
x
=
n n 2
1 0
h
!n
yx
, ,x,x,
2 0
0 0
!n
)1nt)1tty
!2
)1ttyty)htx
0 0
!2
)1ttyty)htx
2 n
n 0
!n
)1nt)1tty
!2
)1ttyty)htx
Ta tính giá tr c a hàm t i 0.14 b ng đa th c n i suy Newton vì các m c cách
đ u h = 0.1 Ta có b ng sai phân sau :
i x y ∆y ∆2y ∆3y
0 0.1 0.09983
0.09884
Trang 80
!3
)2t)(
1tt00199
0
!2
)1tt099884
0.t09983
0)
Trang 9for (i=1;i<=n j;i++)
y[i]=(y[i+1] y[i])/(x[i+j] x[i]);
Trang 10printf( Tri so noi suy tai x0 = %4.2f la : %10.5f\n ,x0,p);
getch();
printf( Ban co muon tinh tiep cac diem khac khong(c/k) );
doscanf( %c ,&ok);
while ((ok!= c )&&(ok!= k ));
1 1
0 0
01
xx
xxy
xxy)
Trang 110 1
0 1
1 0
1 0
01
xx
xxyxx
xxy)
−
−
=Khi x = x0thì:
0 0
1
0 1 1
0 0 0
0
xx
xxy
xxy)x
1 0
1
1 1 1
1 0 0
1
xx
xxy
xxy)x
2 12
0 01
012
xx
xx)x(P
xx)x(P)x
xx(
)xx)(
xx(y)xx)(
xx(
)xx)(
xx(y)xx)(
xx(
)xx)(
xx(y)x
(
P
1 2 0 2
1 0
2 2 1 0 1
2 0
1 2 0 1 0
2 1
0
−
−+
−
−
−
−+
0 0
2
0 2 12
0 0 0
0
xx
xx)x(P
xxy
)x
1 0
2
1 2 1
1 0 1
1
xx
xxy
xxy)x
2 0
2
2 2 2
2 0 2 01
2
xx
xxy
xx)x(P)x
n n
12
0 )
1 n (
xx)x(P
xx)x(P
)x(P
Trang 1210
4.1
6.05.1
24
.0
xx
xxy
xxy)x
(
P
0 1
1 1
0 0
6.08.1
6.05.1
xx
xxy
xxy)x
(
P
1 2
2 2
1 1
6.2
6.065.1
297143
1
xx
xx)x(P
xx)x(P)x
(
P
0 2
2 12
0 01
9.16.2
6.08.1x
x
xxy
xxy)x
(
P
2 3
3 3
2 2
.19.3
9.14308.1
6.065
.1
xx
xx)x(P
xx)x(P)x
(
P
1 3
3 23
1 12
9.3
9.15974.1
27242.1
xx
xx)x(P
xx)x(P)x(
P
0 3
3 123
0 012
Trang 13Trong th c t , bên c nh bài toán n i suy ta còn g p m t d ng bài toán
Trang 14=
1 i
2 i n n i
1 1 i 0 0 i n
1 i
2
i y a f (x ) a f (x ) a f (x )e
S
Rõ ràng S là hàm c a các giá tr c n tìm ai.và chúng ta s ch n các ai sao cho S
đ t giá tr min, nghĩa là các đ o hàm
1 0
i a a x a x a xy
⋅⋅
⋅++
⋅⋅
⋅
=+
⋅⋅
⋅++
=+
⋅⋅
⋅++
=+
⋅⋅
⋅++
=+
⋅⋅
⋅++
1 i
m i 0 n
1 i
n
1 i
1 m 2 i 1 m m 2 i m
n
1 i
i
3 i n
1 i
3 i 0 n
1 i
n
1 i
2 m i 1 m 3 m i m
n
1
i i
2 i n
1 i
2 i 0 n
1 i
n
1 i
1 m i 1 m 2 m i m
n
1 i i i n
1 i i 0 n
1 i
n
1 i
m i 1 m 1 m i m
n
1 i i 0
n
1 i
n
1 i
1 m i 1 m
m i m
yxx
ax
axa
yxx
ax
ax
a
yxx
ax
ax
a
yxx
ax
ax
a
yna
xa
xa
Đây là m t h ph ng trình tuy n tính Gi i nó ta nh n đ c các gía tr
ai Sauđây là ch ng trình vi t theo thu t toán trên
Ch ng trình 5 4
//Xap xi da thuc
#include <conio.h>
#include <stdio.h>
Trang 16}
}
Trang 17for (j=1;j<=kp;j++)sx*=x[i];
b[p][k]+=sx;
}}
for (i=0;i<=m 1;i++)
{
c=1.0/b[i][i];
for (k=i+1;k<=m;k++)
{d=b[i][k];
for (j=i+1;j<=m;j++)b[k][j] =b[i][j]*c*d;
y1[k] =y1[i]*c*d;
b[i][k]*=c;
}y1[i]*=c;
Trang 18V i các giá tr x,yđo đ c theo b ng
lny = lnA + cxlne
=+
i i n
1 i i
2 i
i i
ylnxx
Alnx
c
ylnA
lnnx
Trang 19printf( So diem da cho n = );
Trang 21i i n
1 i
i i
ylnxlnx
lnAlnxlnq
ylnA
lnnxlnq
Trang 24x 1 2 4 5 6
và hàm x p x s là: f(x) = 1285.44x1.9531
4 Hàm l ng giác: Khi quan h y = f(x) có d ng tu n hoàn ta dùng hàm x p
x là t h p tuy n tính c a các hàm sin và cosin d ng:
ω+
ω+
1 i
n
1
i ii
0 a cos(i x) b sin(i x)a
ω+
−
= n
1 i
2 1
1 0
yS
Theo đi u ki n đ o hàm tri t tiêu ta có h ph ng trình đ i v i các h s
ωω
ωω
ωω
ωω
xcosyyb
aa
xsinx
sinxcosx
sin
xsinxcosx
cosx
cos
xsinx
cosn
1 1 0
2 2
Do :
0n
xsinxcos
2
1n
xcos2
1n
xsin
0n
xcos0
n
xsin
2 2
=ωω
=
ω
=ω
=
ω
=ω
xcosyyb
aa
2n00
02n
0
00
n
1 1 0
cosyn
2an
icosyn
2an
y
Ch ng trình tìm các h s aivà biđ c th hi n nh sau:
Trang 26printf( %4c%8.4f%23c%8.4f\n , ,x[i], ,y[i]);
Trang 27printf( a[0] = %8.4f\n ,a[0]);
printf( CAC HE SO BAC CAO\n );
axy
1a
Trang 28n
1
2 i
1x
1Bx
1A
y
1x
1BnA
và t đó tính đ c a và b Ch ng trình sau mô t thu t toán trên