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
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
|