PHƢƠNG TRÌNH PHI TUYẾN.[r]
(1)BÀI 2
NGHIỆM CỦA CÁC
(2)GIẢI PHƯƠNG TRÌNH f(x) = 0
KHÁI NIỆM CHUNG Bài toán
Cho hàm f(x) liên tục đoạn [a, b] khoảng vô hạn đƣờng cong y = f(x) chỉ có nghiệm cô lập, tức tồn khoảng rời chứa không điểm f(x)
Các bƣớc giải
1- Tách nghiệm hay tìm khoảng cách li nghiệm (a, b) - chứa nghiệm phƣơng trình f(x) =
2- Kiện tồn nghiệm: tính gần nghiệm với độ xác cho trƣớc
Cơ sở phƣơng pháp tách nghiệm
Nếu hàm f(x) xác định liên tục [a, b], f(a)f(b) < 0
và f’(x) giữ dấu (a, b) tồn
nghiệm thực x* ∊ (a, b) phƣơng trình f(x) =
(3)GiẢI PHƯƠNG TRÌNH f(x) =
PHƢƠNG PHÁP TÁCH NGHIỆM
Lập bảng xét dấu đạo hàm cấp f‘(x) tìm
khoảng (a, b) thỏa mãn điều kiện
Ví dụ: Tìm khoảng chứa nghiệm lập phƣơng trình f(x) = x3 – x – 1=
Giải: f‘ (x) = 3x2 – 1, lập bảng xét dấu sau
x -∞ -2 -1 1.5 ∞ y’ + + + _ + + +
y -7
-1 0.875
5
(4)CÁC PHƢƠNG PHÁP LẶP (1)
a=m Bắt đầu
Nhập a, b, ε
m=(a+b)/2
f(a)f(m)<0
b=m
b-a<ε
Kết thúc đ
s
đ
s
a b
x* (a+b)/2 y=f(x)
1 PHƢƠNG PHÁP CHIA ĐÔI
Giả thiết Cho f(x) liên tục (a, b) f(a) f(b) <
(5)CÁC PHƢƠNG PHÁP LẶP (2)
1 PHƢƠNG PHÁP CHIA ĐƠI (tiếp)
Thuật tốn:
Lặp với n = 0, 1, 2, , , tìm đƣợc nghiệm x* nghiệm gần xn đạt đƣợc độ xác mong muốn
- Đặt m = (an + bn) / 2, f(m) = dừng (m nghiệm đúng) - Nếu f(an) f(m) < 0, đặt an + = an, bn + = m
- Trái lại, đặt an + = m, bn + = bn
Vậy f(x) ln ln có khơng điểm khoảng [an + ; bn + 1] Sự hội tụ sai số:
Sử dụng phƣơng pháp chia đôi liên tiếp ta nhận đƣợc dãy khoảng lồng {(an ; bn)} hữu hạn x* điểm khoảng thứ n, hay vô hạn co lại: an < x* < bn f(an).f(bn) < 0, bn – an = (b – a) / 2n
Khi n→, liên tục f(x) nên lim bn= lim an = x* 1 n n n n n n n 2 a b 2 a b x 2 b a x *
(6)CÁC PHƢƠNG PHÁP LẶP (3)
1 PHƢƠNG PHÁP CHIA ĐÔI (tiếp)
Giải PT x3-x-1=0 đoạn [1; 1.5] với độ xác ε = 0.0005
PHƢƠNG PHÁP SỐ-Bài
6
n an bn c f(an) f( c) f(an) f( c) Sai số
0 1.0000 1.5000 1.2500 -1.0000 -0.2969 0.29688 0.2500 1.2500 1.5000 1.3750 -0.2969 0.2246 -0.06668 0.0625 1.2500 1.3750 1.3125 -0.2969 -0.0515 0.01529 0.0156 1.3125 1.3750 1.3438 -0.0515 0.0826 -0.00426 0.0039 1.3125 1.3438 1.3281 -0.0515 0.0146 -0.00075 0.0010 1.3125 1.3281 1.3203 -0.0515 -0.0187 0.00096 0.0002
(7)CÁC PHƢƠNG PHÁP LẶP (4)
1. PHƢƠNG PHÁP CHIA ĐÔI (tiếp): CÀI ĐẶT
double chiaDoi (double a, double b, double epsilon) {
int lanlap = 0; // Khoi tao so lan lap
double m ; {
lanlap++ ;
m = (a + b) / 2.0 ;
if (f(m) == 0) break; // m la nghiem dung
else if (f(a)*f(m) > 0) a = m;
else b = m;
} while (! ( (b − a) / 2.0 <= epsilon || lanlap >1000) );
cout <<“So lanlap = " << lanlap << endl; return m;
(8)CÁC PHƢƠNG PHÁP LẶP (5)
2 PHƢƠNG PHÁP THỬ SAI:
Ý tưởng: Tăng tốc độ hội tụ phƣơng pháp chia đơi việc kiểm tra f(x) điểm trung bình có trọng số gần
Thuật tốn:
Lặp với n = 0, 1, 2, , , tìm đƣợc nghiệm x* nghiệm gần xn đạt đƣợc độ xác mong muốn Tính w = [f(bn)an – f(an)bn] / [f(bn) – f(an)], f(w) = dừng
- Nếu f(an)f(w) < 0, đặt an + 1 = an, bn + = w - Trái lại, đặt an + = w, bn + = bn
f(a) f(b) f(a).b f(b).a | f(a) | | f(b) | b | f(a) | a | f(b) | w
(9)CÁC PHƢƠNG PHÁP LẶP (6)
2 PHƢƠNG PHÁP THỬ SAI (tiếp)
) f(a )
f(b
)b f(a
)a f(b
w
n n
n n
n n
w điểm mà đƣờng thẳng cắt trục Ox qua điểm [an, f(an)] [bn, f(bn)] (một dây cung f(x))
(10)CÁC PHƢƠNG PHÁP LẶP (7)
2 PHƢƠNG PHÁP THỬ SAI (tiếp):
Giải PT x3-x-1=0 đoạn [1; 1.5]
n an bn f(an) f(bn) w f(w) f(an) f(w)
0 1.0000 1.5000 -1.0000 0.8750 1.2667 -0.2344 0.2344 1.2667 1.5000 -0.2344 0.8750 1.3160 -0.0370 0.0087 1.3160 1.5000 -0.0370 0.8750 1.3234 -0.0055 0.0002 1.3234 1.5000 -0.0055 0.8750 1.3245 -0.0008 0.0000 1.3245 1.5000 -0.0008 0.8750 1.3247 -0.0001 0.0000