Phương pháp lặp đơn giải phương trình

            Giả sử phương trình (1) được đưa về dạng tương đương :

từ giá trị xo nào đó gọi là giá trị lặp đầu tiên ta lập dãy xấp xỉ bằng công thức:

Hàm g(x) được gọi là hàm lặp. Nếu dãy xn ® a khi n ®µ thì ta nói phép lặp (3) hội tụ.


Ta có định lí: Xét phương pháp lặp (3), giả sử :

- [a,b] là khoảng phân li nghiệm a của phương trình (1) tức là của (2)

- mọi xn tính theo (3) đều thuộc [a, b]

- g(x) có đạo hàm thoả mãn :

                                                                                                                        (4)

trong đó q là một hằng số thì phương pháp lặp (3) hội tụ

Ta có thể minh hoạ phép lặp trên bằng hình vẽ trên.

Cách đưa phương trình  f(x) = 0 về dạng x = g(x) được thực hiện như sau: ta thấy f(x) = 0 có thể biến đổi thành x = x + lf(x) với l ¹ 0. Sau đó đặt x+lf(x) = g(x) sao cho điều kiện (4) được thoả mãn.

Sau bước giải sơ bộ ta có nghiệm x1 Î ( 9,10 )

Nếu đưa phương trình về dạng:

thì dễ thấy | g'(x) | > 1 trong khoảng ( 9, 10 ) nên không thoả mãn điều kiện (4)

Chúng ta đưa phương trình về dạng

                                               


thì ta thấy điều kiện (4) được thoả mãn.Xây dựng dãy xấp xỉ

                                               

với xo chọn bất kì trong ( 9, 10 )

                Trên cơ sở phương pháp này chúng ta có các chương trình tính toán sau:

Chương trình giải phương trình exp((1/3)*ln(1000-x)) với số lần lặp cho trước











                printf("Cho so lan lap n = ");



                printf("Cho gia tri ban dau cua nghiem x0 = ");






                printf("Nghiem cua phuong trinh la :%.4f",x);



                float a=exp((1./3.)*log(1000-x));

và chương trình giải bài toán bằng phương pháp lặp với sai số cho trước











                printf("Cho sai so epsilon = ");



                printf("Cho gia tri ban dau cua nghiem x0 = ");










                printf("Nghiem cua phuong trinh la %.6f",y);







                float a=exp((1./3.)*log(1000-x));




Cho giá trị đầu xo = 1.Kết quả tính toán x = 9.966555