printf Tim nghiem cua phuong trinh phi tuyen ;printf \nbang cach chia doi cung\n ; printf Cho cac gia tri x0,x1,maxlap\n ; printf Cho gia tri x0 = ;... aya aa printf Tim nghiem cua phuon
Trang 1CH NG 2: GI I G N ĐÚNG PH NG TRÌNH
Đ I S VÀ SIÊU VI T
§1 KHÁI NI M CHUNG
Trang 2Ta có đ nh lí: Xét ph ng pháp l p (3), gi s :
[a,b] là kho ng phân li nghi m α c a ph ng trình (1) t c là c a (2)
m i xntính theo (3) đ u thu c [a, b]
bxa,1q)x(
x = 1000 x3= g(x)thì d th y | g (x) | > 1 trong kho ng ( 9, 10 ) nên không tho mãn đi u ki n(4)
Trang 4Cho giá tr đ u xo = 1.K t qu tính toán x = 9.966555
§3.PH NG PHÁP CHIA ĐÔI CUNG
Gi s cho ph ng trình f(x) = 0 v i
f(x) liên t c trên đo n [a, b] và f(a).f(b) <
0 Chia đo n [a, b] thành 2 ph n b i
chính đi m chia (a + b)/2
b 1
ξ
b a
Trang 5printf( Tim nghiem cua phuong trinh phi tuyen );
printf( \nbang cach chia doi cung\n );
printf( Cho cac gia tri x0,x1,maxlap\n );
printf( Cho gia tri x0 = );
Trang 6printf( Phep lap khong hoi tu sau %d lan lap ,maxlap);
Gi s f(x) liên t c trên trên đo n [a, b] và f(a).f(b) < 0 C n tìm nghi m
c a f(x) = 0 Đ xác đ nh ta xem f(a) < 0 và f(b) > 0 Khi đó thay vì chia đôi
đo n [a, b] ta chia [a, b] theo t l f(a)/f(b) Đi u đó cho ta nghi m g n đúng:
x1= a + h1
Trongđó
) a b ( ) b ( ) a (
) a (
h 1 =− − + −
Ti p theo dùng cách đó v i đo n [ a, x1] hay [x1, b] mà hai đ u hàm
nh n giá tr trái d u ta đ c nghi m g n đúng x2v.v
V m t hình h c, ph ng pháp này có nghĩa là k dây cung c a đ ng congf(x) qua hai đi m A[a, f(a)] và B[b, f(b)] Th t v y ph ng trình dây cung AB
có d ng:
Trang 7)a(ya
)a(a
printf( Tim nghiem cua phuong trinh phi tuyen\n );
printf( bang phuong phap day cung\n );
printf( Cho cac gia tri a,b\n );
printf( Cho gia tri cua a = );
Trang 8elseb=x;
b(f)x(
y = 0, nghĩa là:
)xx)(
b(f)x
−
hay :
)x(f
)x(x
x
0
0 0
T x1 ta l i ti p t c v ti p tuy n v i đ ng cong thì giao đi m xis ti n t i
Trang 9Vi c ch n đi m ban đ u xo r t quan tr ng Trên hình v trên ta th y
đ nh lí:
N u f(a).f(b) < 0 ; f(x) và f (x) khác không và gi nguyên d u xác đ nh khi x
∈ [a, b] thì xu t phát t xo∈ [a, b] tho mãn đi u ki n f(x o ).f″(x o ) > 0 có th tính theo ph ng pháp Newton nghi mξ duy nh t v i đ chính xác tu ý.
đ t i đó f(xo).f (xo) > 0 Áp d ng lí thuy t trên chúng ta xây d ng ch ngtrình tính sau:
printf( Tim nghiem cua phuong trinh phi tuyen\n );
printf( bang phuong phap lap Newton\n );
printf( Cho gia tri cua x0 = );
Trang 10t = fabs(x[i+1] x[i]);
x[i]=x[i+1];
i=i+1;
if (i>100){
printf( Bai toan khong hoi tu\n );
getch();
exit(1);
}else
Trang 11có hoành đ l n l t là a = x2, b = x1 và ta ch n thêm m t đi m x0 n m trong
2 2 2
2
1 1
2 1 1 1
0
2 0
fcbhah
)xx(h
v
fcbhah
)xx(h
v
fc)0(b)0(a)xx(0
v
=++
=
=
=++
=
=
=++
1
2 1
2 0
b
)1(h
f)1(ffa
+γ+
−γ
=
Sau đó ta tìm nghi m c a ph ng trình av2 + bv + c = 0 và có :
ac4bb
c2x
n
2 0
Ti p đó ta ch n nghi m g n x0 nh t làm m t trong 3 đi m đ tính x p x
m i Các đi m này đ c ch n g n nhau nh t Ti p t c quá trình tính đ nkhi đ t đ chính xác yêu c u thì d ng l i
Ví d : Tìm nghi m c a hàm f(x) = sin(x) x/2 trong đo n [1.8, 2.2] Ta ch n
0)
11(2.01
07385
0)11()0907.0()2915.0(1
02
.0
2.0)45312
0()097.0(2915.0b
Trang 12Ta có nghi m g n x0nh t là :
89526
1)0907.0()45312
0(4)91338
0(91338
0
)0907.0(20
.2
2 4
109184
1
c
81826
010474
.0
10474
0)4728.0(109184.10907.0b
4728.09095
.110474
09095.0
07385
09095.1)109184.1()0907.0(9095.0
110
9184.1)4728.0(4)81826
0(81826
0
109184.1289526
1
n
4 2
Ta có th l y n1 = 1.895494 làm nghi m c a bài toán
printf( Cho khoang can tim nghiem [a,b]\n );
printf( Cho gia tri duoi a = );
Trang 13b=(f(x1) f(x0) a*(h1*h1))/h1;
c=f(x0);
if ((a==0)&&(b!=0)){
n1= c/b;
n2=n1;
}
if ((a!=0)&&(b==0)){
n1=( sqrt( c/a));
n2=(sqrt( c/a));
}
if ((a!=0)&&(b!=0)){
n1=x0 2*c/(b+(sqrt(b*b 4*a*c)));
n2=x0 2*c/(b (sqrt(b*b 4*a*c)));
}
if (fabs(n1 x0)>fabs(n2 x0))
Trang 14if (xr>x0){
x2=x0;
x0=xr;
}else{x1=x0;
x0=xr;
}}
Nghi m c a ph ng trình trên tho mãnđ nh lí: N u max{| a 1 |, | a 2 |, , |a n
|} = A thì các nghi m c a ph ng trình tho mãn đi u ki n | x | < 1 + A/ | a 0 |
α ta chia đa th c Pn(x) cho (x α) và nh n đ c đa th c m i Qn 1(x) Ti p t c
Sauđó l i ti p t c các b c trên cho đ n khi tìm h t các nghi m c a Pn(x)
Trang 15Đây là m t ph ng trình sai phân tuy n tính h s h ng Khi cho tr c cácgiá tr đ u yo, y1, yn 1 ta tìm đ c các giá tr yn, yn+1, Chúng đ c g i là
k 2 2
k 1 1
=
k
1
2 2
1 k
1 1 k
x
xc
c1xcy
=
+ +
+
1 k
1
2 2
1 1
k 1 1 1
k
x
xc
c1xcy
1 k
1
2 2 1
1 k
1
k
x
xc
c1
x
xc
c1xy
1 2 k
1 k
đ c xác đ nh t n giá tr yk 1, yk 2, ,yn 1.Đi u cho phép tính toán b ng cách
Đ tính nghi m l n nh t c a đa th c, ta xu t phát t các nghi m riêng
y1 = 0, y1 = 0, , yn =1 đ tính yn+1 Cách tính này đ c ti p t c đ tính yn+2
Trang 16xu t phát t y1 = 0, y2 = 0, ,yn+1và ti p t c cho đ n khi yk+1/yk không bi nđ i
n a Tr s c a yk+n đ c tính theo công th c truy h i :
0 n
yk+3 10yk+2+ 31yk+1 30yk= 0
Ta cho tr c các giá tr y1 = 0; y2 = 0 và y3= 1 Theo (4) ta tính đ c :
y4 = ( 10y3 + 31y2 30y1) = 10
y5 = ( 10y4 + 31y3 30y2) = 69
y6 = ( 10y5 + 31y5 30y3) = 410
y7 = ( 10y6 + 31y5 30y4) = 2261
y8 = ( 10y7 + 31y6 30y5) = 11970
y9 = ( 10y8 + 31y7 30y6) = 61909
y10= ( 10y9+ 31y8 30y8) = 315850
y11= ( 10y10+ 31y9 30y8) = 1598421
y12= ( 10y11+ 31y10 30y9) = 8050130
y13= ( 10y12+ 31y11 30y10) = 40425749
y14= ( 10y13+ 31y12 30y11) = 202656090
y15= ( 10y14+ 31y13 30y12) = 1014866581
y16= ( 10y15+ 31y14 30y13) = 5079099490
y17= ( 10y16+ 31y15 30y14) = 24409813589
y18= ( 10y17+ 31y16 30y15) = 127092049130
y19= ( 10y18+ 31y17 30y16) = 635589254740
T s các s yk+1/ykl p thành dãy :
10 ; 6.9 ; 5.942 ; 5.5146 ; 5.2941 ; 5.172 ; 5.1018 ; 5.0607 ; 5.0363 ; 5.0218 ;5.013 ; 5.0078 ; 5.0047 ; 5.0028 ; 5.0017 ; 5.001
nghĩa là chúng s h i t t i nghi m l n nh t là 5 c a đa th c
Trang 17while((l<=50)||(e2>=e1));
if(e2>=e1)
{
Trang 18i n
i n i 1
ch n m t giá tr xonàođó, ví d :
1 n
n 0
a
ax
)x(Px
x
0 n
0 n 0
)x(P
)x(Px
x
1 n
1 n 1
Trang 19M t khác khi chiađa th c Pn(x) cho m t nh th c (x xi) tađ c :
v i bn = Pn(xi) Đa th c Pn 1(x) có d ng:
Pn 1(x) = boxn 1 + b1xn 2+ p3xn 3+ + bn 2x + bn 1 (4)
Đ xác đ nh các h s c a đa th c (4) ta thay (4) vào (3) và cân b ng
x
(
Pn′ = − i n′−1 + n−1
Nh v y v i m t giá tr xi nào đó theo (2) ta tính đ c Pn(xi) và k t
h p (6) v i (7) tính đ c P′n(xi) Thay các k t qu này vào (1) ta tính đ cgiá tr xi+1 Quá trình đ c ti p t c cho đ n khi | xi+1 xi | < ε hay Pn(xi+1) ≈ 0nên α1≈ xi+1là m t nghi m c a đa th c
Phép chia Pn(x) cho (x α1) cho ta Pn 1(x) và m t nghi m m i khác
đ c tìm theo cách trên khi ch n m t giá tr xo m i hay ch n chính xo=α1
Trang 20375.15.3)x(P
)x(Px
x
0 n
0 n 0
096.06.3)x(P
)x(Px
x
1 n
1 n 1
′
−
=
Trang 21p[k]=p[k 1]*x0+a[k];
d[k]=d[k 1]*x0+p[k 1];
}x1=x0 p[n]/d[n];
e2=fabs(x1 x0);
if (e2>e1)x0=x1;
Trang 22ph i tìm các giá tr đ c bi t s*và p* đ cho bn 1và bn tri t tiêu Khi đó r1(x)= 0
và nghi m c a tam th c x2 s*x + p*x s là nghi m c a đa th c Pn(x) Ta bi t
s
(
g
0)p