D I= ET(AA,N) X(I) = I/
+M SO BIEN DUOC XET
! + J CHI SO BIEN DUOC TINH T/QUAN VOI TAP ! M-1 BIEN CON LAI ! M-1 BIEN CON LAI
! OUTPUT: HE SO TQUAN BOI GIUA BIEN THU J VA M−1 ! BIEN KHAC ! BIEN KHAC ! REAL X(N*M), R(M*M), RT(M*M), TB(M) CALL COVAR(X,N,M,R,TB) RT=R RJJ=PPDS(RT,M,J,J) RT=R RR=DET(RT,M) HSTQB=SQRT(1-RR/RJJ) RETURN END FUNCTION 9.4 Ph−ơng pháp số 9.4.1. Tìm nghiệm ph−ơng trình
Trong mục này ta sẽ đề cập đến việc lập ch−ơng trình tìm nghiệm của ph−ơng trình
đơn giản ta có thể giải và tìm đ−ợc nghiệm đúng (x0) của nó. Nếu F(x) là một hàm phức tạp, việc tìm nghiệm đúng của nó gặp rất nhiều khó khăn, và thậm chí là khơng tìm đ−ợc bằng ph−ơng pháp giải tích. Trong tr−ờng hợp đó ta có thể tìm nghiệm gần đúng của ph−ơng trình bằng cách lập ch−ơng trình cho máy tính. ở ví dụ 4.3 ta đã xét ph−ơng pháp lặp Newton để tìm nghiệm gần đúng của ph−ơng trình, trong đó cần phải biết đạo hàm của hàm F(x). Tuy nhiên, trong nhiều tr−ờng hợp, việc tính đạo hàm của hàm F(x) cũng khá phức tạp, nên ng−ời ta th−ờng sử dụng ph−ơng pháp chia đơi. Nói chung, dù sử dụng ph−ơng pháp nào, việc tìm nghiệm ph−ơng trình F(x)=0 bằng ph−ơng pháp số đều gắn liền với sự hội tụ nghiệm. Thời gian tính của máy lúc đó sẽ phụ thuộc vào tốc độ hội tụ của ph−ơng pháp. Ví dụ ph−ơng pháp lặp Newton sẽ cho thời gian tính ít hơn so với ph−ơng pháp chia đơi, vì tốc độ hội tụ của nó nhanh hơn. Điều kiện hội tụ có thể đ−ợc xác định bởi các chỉ tiêu sau:
a) F(xi) <Epsilon (9.4.1)
b) xi−x0 <Epsilon (9.4.2)
c) xi−xi−1 <Epsilon (9.4.3)
Trong đó Epsilon là một số d−ơng vô cùng bé tùy ý, x0 là nghiệm chính xác của ph−ơng trình, xi là các giá trị có thể lấy làm xấp xỉ của nghiệm. Ta thấy, chỉ tiêu a) chỉ quan tâm đến độ chính xác của hàm, tức là xi đ−ợc lấy làm nghiệm gần đúng nếu nó làm cho giá trị hàm tại đó đủ nhỏ; chỉ tiêu b) xem xi là nghiệm gần đúng nếu nó rất gần với nghiệm thực; còn chỉ tiêu c) lấy xi làm nghiệm gần đúng nếu nó rất gần với giá trị xấp xỉ ở b−ớc tr−ớc đó. Rõ ràng ta khơng hy vọng tìm đ−ợc nghiệm chính xác của ph−ơng trình, bởi vì quá trình lặp để tìm nghiệm sẽ kết thúc nếu chỉ tiêu hội tụ thỏa mãn. Ta cũng ch−a biết tr−ớc nghiệm chính xác x0 nên chỉ tiêu b) nói chung khơng đ−ợc sử dụng trong thực tế. Sau đây ta sẽ xét ph−ơng pháp chia đơi tìm nghiệm ph−ơng trình F(x)=0 khi sử dụng các chỉ tiêu a) và c).
Về nguyên tắc, để tìm nghiệm của ph−ơng trình F(x)=0, tr−ớc hết ta nên khảo sát sơ bộ để xác định số nghiệm của ph−ơng trình, các khoảng giá trị của x mà nghiệm có thể nằm trong những khoảng đó. Giả sử ta xét một khoảng đ−ợc giới hạn bởi hai đầu mút XL và XR (điểm bên trái và điểm bên phải). Nếu F(XL).F(XR)<0 thì tồn tại nghiệm trong khoảng này. Để xác định nghiệm, ta tiến hành chia đôi khoảng (XL, XR) bởi điểm XC và xét xem nghiệm rơi vào khoảng nào trong hai khoảng trên bằng cách xác định dấu của
F(XL).F(XC) và F(XC).F(XR). Quá trình cứ tiến hành cho đến khi thỏa mãn chỉ tiêu
hội tụ nghiệm.