Tải bản đầy đủ (.pdf) (47 trang)

Giải gần đúng nghiệm của hệ phương trình tuyến tính và các phương pháp nội suy hàm số ngôn ngữ c++

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.34 MB, 47 trang )

Đồ án Toán 1
1
TNG VIT NAM
I HC THNG
KHOA TOÁN  THNG KÊ





 ÁN TOÁN 1
 TÀI:
- GII G NGHIM CA H N TÍNH VÀ
I SUY HÀM S BNG NGÔN NG C
++




Ging dn: ThS. 
Sinh viên thc hin:
NG NGC MS: C1201002
PHM THANH TÂM MS: C1201104

LP: 120C0101
LP: 120C0101

NIÊN KHÓA: 2012 - 2016






TP. H 
Đồ án Toán 1
2
TNG VIT NAM
I HC THNG
KHOA TOÁN  THNG KÊ




 ÁN TOÁN 1
 TÀI
- GII G NGHIM H N TÍNH VÀ CÁC
I SUY HÀM S BNG NGÔN NG C
++


Gingdn: ThS. 
Sinh viên thc hin:
NG NGC MS: C1201002
PHM THANH TÂM MS: C1201104
LP: 120C0101
LP: 120C0101
NIÊN KHÓA: 2012 - 2016








TP. H Chí Minh
Đồ án Toán 1
3
NHN XÉT CA GING DN


































Đồ án Toán 1
4

LI C
Trong quá trình thc hi  án này chúng em nhc nhiu s  t
các thy cô trong khoa Toán  Thi hc Thng. Các th
ng dn tn tình ch bo nhng kinh nghim quý báu. Trong quá trình hc tp chúng em
ng hc tp, cùng vi s  ca b
thành   án n này. c gi li cn các
thc bit là th - ng dn tn tình, tu kin tt
nh có th hoàn thành tt cu
c gi li cng viên khuyn khích trong nhng lúc
t. Mt ln na chúng em xin chân thành c! Chúc tt c mi sc
khe và thành công!







Đồ án Toán 1
5
LU
Trong cun báo cáo này, chúng em xin trình bày hai phn:
Phn 1: i vi mt h , chúng ta luôn có cách gii tìm ra nghim chính xác
ci ta xây dng cách tính nghim chính xác thông qua công thc Cramer. Tuy
nhiên khi gp mt h  n ln thì vic áp dng công thc Cramer không
 gii quyt v i ta xây dng công thc khác là Gauss và
p Seidel. c s  so
vCramer v chính xác theo m t thn cao. Vì vy trong
phn này, chúng em trình bày ni dung cGII G 
TUYN TÍNH BP SEIDEL
Phn 2: Trong toán hc, ng gn kho sát và tính giá tr
cc t ng hc
biu thc ca hàm f(x) mà ch nhc giá tr ca f(x
i
) ri rc tm nút x
i

ng. V c các giá tr ca hàm f(x) tm còn li.
 gii quyt v ng mt hàm

i
) = y
i
= f(x
i
) v
i mi x  
i

.
ta xây di là bài toán nội suyi thiu
 lp các công thc thc nghim. Khi tìm mi liên h ging x và y
phi tin hành thí nghim rc. Ri da vào d lic, ta lp mi
liên h hàm s y = f(x) c th gi là lp công thc thc nghim. Nói chung vic tìm ra hàm
f(x) là g  c tìm ra hàm s xp x ca hàm s f(x) b   
 nht s rt phc tp nu ta không bic dng ca hàm s xp x. Trong
phn này chúng em trình bày dung n  NI SUY LAGRANGE, NEWTON VÀ
 NH
 tìm ra nghim xp x c có rt nhiu. Chúng
em ch lit kê mt s ng có ng dng thc t.









Đồ án Toán 1
6
MC LC Trang

PHN 1: TÌM NGHIM CA H N TÍNH
1. Gii thiu chung 7
2. Cramer 7
3.  8
3.1. N 8
3.2. Thut toán 9

3.3. Code  10
4. p Seidel 12
4.1. Ni dung  pháp 12
4.2. Thut toán 15
4.3. Code  trình 16
PHN 2: NI SUY VÀ LY XP X HÀM S 19
1. Gii thiu chung v  19
2. Ni suy Lagrange 20
2.1. c ni suy Lagrange 20
2.2. Thut toán 22
2.3. Code  23
3. Ni suy Newton 24
3.1. c ni suy Newton 24
3.2. Thut toán 30
3.3. Code  31
4.  nht  Ly xp x hàm s 32
4.1. N và các dp 32
4.2. Thut toán 41
4.3. Code  43
KT LUN 46
TÀI LIU THAM KHO 47



Đồ án Toán 1
7
PHN 1: TÌM NGHIM CA H 
TUYN TÍNH
1. Gii thiu chung.
Cho h  tuyn tính:










 













 















 





(1)
H  c cho bi ma trn:








 








 



    




 




(2)
V t ra là tìm nghim  = ( x
1
, x
2
, , x
n
)
-   Cramer  ) m c  
pháp này là sau mt s hu hc tính. Ta nhc nghi
nu trong quá trình tính toán không làm tròn s.
-  pháp gGauss Siedel, ging ta cho n s
mt giá tr u, t giá tr này tính giá tr nghim g
mt quy tQuá c lp li nhiu ln và vi mt s u

kin nhnh, ta nhc nghim g
2. .
S tn ti và nghim duy nht ca h:
 = det(A)s
Nthì ma trn A suy bi (1) suy bin.


suy ra t : Bng cách thay ct th i bng ct  v phi.
nh lý Cramer : Nếu ∆ ≠ 0 thì hệ (1) không suy biến và có nghiệm duy nhất được
tính bởi công thức:






 (3)
Nhn xét: Công thc thu gn d nhp.  ln phi thc hin s
ng ln các phép tính. Vinh thc s gp nhiu khó kh.
N
c
(n)  s ng phép tính cn làm khi h 
N
c
(n) = (n +1)!n
Vi n = 15 ta có N
c
(15) = 3.10
14
.


Đồ án Toán 1
8
3. .
3.1. N
Ni dung kh dn các n v h ng tam giác trên ri gii t
i lên mà không phnh thc.
Ví d: Xét h :




 



 



 





 




 



 





 



 



 

(4)
Kh các n 


 



 




 



 



 



 

(5)
Gic t c các n.
: s dng các phép bii p trên dòng ca ma trn.
Quá trình (5): c.
Khng phép tính
N
c
(n) =








Vi n = 15 ta có N
c
(15) = 2570 nh u so v Cramer.
Ví d: Gii h 





 








 








 









 





Gii:   ma trn:

    
    
    
    


Ta dùng các phép bip trên dòng ca ma trn v dng bc
thang:


    
    
    
    















    
    
    
    











Đồ án Toán 1
9


    
    
    
    













    
    
    
    















    
    
    
    












    
    
    
    


Vy h  i h sau:






 






 





























Vy h có nghim duy nht là: x* = ( 2 ; 1 ; 5 ; -3)
3.2. Thut toán:
Bước 1:
- Nhp s liu.
- Nhp vào s n.
- Nhp các phn t ca ma trn h s m rng.
Bước 2:
- Bii ma trn v dng tam giác trên.
- Kim tra phn t a
ii
+ Nu a
ii
i dòng i.
+ Nu a
ii
c h s kh.
 Thc hin vòng lp cho i chy t n n (s dòng).
 Thc hin vòng lp cho j chy t n n+1(s ct).
t c =





(h s kh)

Lp cho k chy t n n+1: a
j,k
=c*a
i,k
+a
j,k

Bước 3:
- Tìm nghic.













- s=0.
Đồ án Toán 1
10

- Vòng lp j=i+1n. s=s+ a
ij
*x
j
. (s nghim luôn <= s n)




 


- In ra nghim x
i

3.3.  :



Đồ án Toán 1
11



Đồ án Toán 1
12

4. p Seidel.
4.1. N
- Cho h ng trình: Ax = f (6)

Bii v d  (7)
B





 





 

   




 


suy ra t A và g suy ra t f (8)
- Chn x
(0)
m gu tiên c
và tính các nghim gp theo: x
(1)
, x

(2)
 x
(m)
 pháp l
x
(m)
= Bx
(m-1)
+ g ; (m>=1) (9)
Vi x
(0)
c. (10)
T:
(Bx)
i
=







(11)
P
(m)
theo (9) gi là phương pháp lặp đơn 
B là ma trận lặp.

Đồ án Toán 1

13
S hi t và sai s c
 hôi t
Gi s







là nghim ca h c (6) nu
x
i
(m)


; i = 1, 2, , n
p hi t.
nh lý v s hi t c
i vi ma trn B nu chun hàng:
r
0
= max


























 (12)
hoc chun ct:
r
1
= max

 







 




 








 (13)
hoc chuclit:
r
2
=

 













(14)
 hi t bu x
(0)
nào và sai s 



 









 



; (15)
- r
0





 










,

- r
1




 




 








- r
2




 




















c tính:
1. Cho h .
2. nh sai s .
3. .
4. Kim tra thu kin hi t (12), (13), (14).
5. Chn x
(0)
tùy ý (là vecto không hay là g).
6. Tính x
(m+1)
= Bx
(m)
+ g, vi m = 1, 2, 3,
cho ti khi



 




(m)

7. Sai s:



 










Đồ án Toán 1
14
Ví d: Xét h :



 

 




 

 




 


 



Tìm nghim g 
-3
b.
Gii:   dng x = Bx + g





 

 




 

 




 


 

Ma trc là: B =

  
  
  

và g =






Kiu kin hi t (12), (13), (14).






    






    







    







Chp hi t vi mi x
(0)
c.
Chn x
(0)
=





kt qu c cho trong bng sau:
m
x
1
(m)


1
x
2
(m)

2
x
3
(m)

3
0
1
2
3
4
0
2
1,92
1,9094
1,90923

2
0,08
0,0106
0,00017
0
3
3,19

3,1944
3,19495

3
0,19
0,0044
0,00055
0
5
5,04
5,0446
5,04480

5
0,04
0,0046
0,0002

Ta nhn xét rng vi m = 4 thì





 ;













Đồ án Toán 1
15
max







th bài ta dng quá trình tính.
Sai s:



 








 =



Vy kt lun:



  


  


  

4.2. Thut toán
Bước 1:
 Nhp d liu.
 Nhp ma trn h s ca h ma trn A).
 Kim tra d liu va nhp.
 Nhp ct h s t do (ma trn B).
 Kim tra d liu va nhp.
 Nhp s ln lp.
Bước 2:
 Chn nghiu x=(0, 0, , 0)
  x
i
= 0. Dùng vòng lp (for) cho i chy 1n.
Quá trình lp:

S dng vòng lp do {} while ( ) (lp n khi tha không u kin
thì dng).
 Các lnh trong vòng lp do {} while ():
Dùng vòng lp for cho i = 1n.
{
t S = 0;
Dùng vòng lp for cho j = 1n
S = S + a
ij
*x
j

t d = x
i

X
i
= (-S + a
ii
*d + b
i
)/a
ii

Denta=|d-x
i
|
}
Vòng lp do { } while ( ) dng khi s ln lp l ln quy
nh và khi Denta  0.

Có hai kh y ra khi vòng lp do { } while ( ) dng là
Đồ án Toán 1
16
Nu Denta < 0 thì nghi chính xác trong s ln lp 
c.
Nu Denta = 0 thì nghi chính xác sau s ln lp cho
c.
Bước 3: Xut nghim.
4.3. 



Đồ án Toán 1
17



Đồ án Toán 1
18


Đồ án Toán 1
19
PHN 2: NI SUY VÀ LY XP X HÀM S
1. Gii thiu chung v .
1.1. Ni suy
1.1.1. t v:
Cho hàm s y = f(x) mà không bit biu thc ca gii tích hàm, ch bit giá tr
ca hàm ti mt s hu hn [a ; b] (bc hoc thc nghim).
x

x
0

x


x


x
n-1

x
n

y = f(x)
y
0

y
1

y
i

y
n-1

y
n



Tìm giá tr ca hàm s ti mt s m trung gian khác.
1.1.2. Bài toán ni suy:
Xây dng m có biu thn, có giá tr trùng vi giá tr ca
hàm f(x) tm x
0
, x
1
,
n
, còn tn [a ; b] thì hàm
n f(x) (phn t f(x))  suy ra giá tr ga
hàm f(x) tm bt kì tha mãn x
0
< x < x
n
.
 c gi là hàm nội suy cn [a ; b]
c: Tc
(x
i
; y
i
); i = 0,  n
1.2. c ni suy
ng chc làm hàm ni suy vì:
- c là lon.
- o hàm và nguyên hàm.
Bài toán:

, chn mm chia (m nút) x
i
; i = 0, 1, 2, n vi
a 
0
, x
1
, x
2
 x
n
.
Cho các giá tr ng ca hàm y = f(x) ti các nút:
x
x
0

x


x
i

x
n-1

x
n

y = f(x)

y
0

y
1

y
i

y
n-1

y
n


Cn xây dng mc bc n:









 




  

 

(1)
Sao cho P
n
(x) trùng vi f(x) ti các nút x
i











Đồ án Toán 1
20
1.3. S duy nht cc ni suy
c ni suy P
n
(x) c trên nu có thì ch có mt mà
c ni suy có th có nhiu cách xây dt nên
các dng cu có th quay v nhau.
2. Ni suy Lagrange.
2.1. c ni suy Lagrange















(2)
 











































l
i

(x) - c b
n
(x)  c bc n


















(2): c ni suy Lagrange
Ni suy tuyn tính (n = 1)
x
x
0

x
1


y
y
0

y
1


T 








 



 (3)






  




 








 



 









  



 


 

  



 


Có dng P
1
(x) = Ax + B  bc nhi vi x
Ni suy bc 2 (n = 2)

x
x
0

x
1

x
2

y
y
0

y

1

y
2














 






 



 (4)

Đồ án Toán 1
21






  

 




 



 











  

 




 



 










  

 




 




 



P
2
(x) có dng: P
2
(x) = Ax
2
+ Bx + C  bi vi x.
Sai s ni suy.
nh lý: Nếu hàm f(x) liên tục trên [a ; b] và có trong [a ; b] đạo hàm liên tục đến
cấp n+1 thì sai số nội suy r
n
(x) = f(x) – P
n
(x) có biểu thức sau:





















 (5)






 


 


 


([a ; b] khong cha các nút x
i
)

Gọi 








Thì

















o m cc ni suy Lagrangen.
o m: Thêm mt nút thì phi tính li toàn b.
Ví d:  sau:

x
1
2
3
4
y
5
7
8
9
Vit ra biu thc n, tính giá tr ca bng ti x = 3,5.






  
     













  
     












  
     












  

     






c ni suy bng:
Đồ án Toán 1
22
P
3
(x) = 5l
0
(x) + 7l
1
(x) + 8l
2
(x) + 9l
3
(x) => P
3
(3,5) = 8,4375
Ghi chú: Viết biểu thức l
i
(x) ( không tính ! ) Thay x → Giá trị.
2.2. Thut toán (Ni suy Lagrange)
c 1:
 Nhp d liu.
 Nhps ng mc ni suy.

 Nhp giá tr x
i
và f(x
i
).
 Nhp giá tr x cn tính.
c 2:
 Da vào công thc:







 


 


 
















 Hàm tính L
n
(x):
+ Vòng lp for cho in
+ Vòng lp for cho jn
+ N
- t u = u*(x - x[j]).
- t v = v*(x[i] - x[j]).
- t L
n
(x) = w = w + ((u/v)*y[i]).
c 3:
 Xut ra tr giá ca hàm f(x
i
) cn tìm.

Đồ án Toán 1
23
2.3.  (Ni suy Lagrange)





Đồ án Toán 1
24


3. Ni suy Newton.
3.1. c ni suy Newton.
3.1.1. Ni suy Newton vi mu.
Tỉ sai phân (tỉ hiệu) hữu hạn :
Cho y = f(x) có giá tr y
i
= f(x
i
) ti các nút x
i
u nhau.
T sai phân cp 1 (hng 1): 

















T sai phân cp 2: 





























Đồ án Toán 1
25

T sai phân cp n: 





























3.1.2. c ni suy Newton vi mu.
Dạng tiến:









 









 


 



 




 










Dạng lùi:









 










 


 


 




 









Ví d: Cho bng ni suy sau:
x
-1

2
3
5
6
y
0
1
-2
1
3
a) Hy lp bng tính các t hiu.
b) Vic ni suy y = P(x) và tính y(4).
Giải: Ta lp bng sau:


Ghi chú:  u TH
i
là t hiu tin cp i vàTH
i
*
là t hiu lùi cp i.

×