Bài giảng Phương pháp số - Chương 5: Tính gần đúng đạo hàm và tích phân xác định

Sau khi học xong chương 5, yêu cầu sinh viên:

1. Hiểu và nắm được thế nào là bài toán tính gần đúng đạo hàm và tích phân xác định

2. Nắm được các phương pháp tính gần đúng đạo hàm, qua đó biết cách tính giá trị gần

đúng đạo hàm cho một hàm bất kỳ.

3. Nắm được các phương pháp tính gần đúng tích phân xác định, qua đó biết cách tính giá

trị gần đúng tích phấn xác định của một hàm bất kỳ

4. Biết cách áp dụng các phương pháp tính gần đúng trên vào việc giải các bài toán ngoài

thực tế.

5. Biết cách đánh giá sai số của từng phương pháp.

pdf 10 trang kimcuc 6640
Bạn đang xem tài liệu "Bài giảng Phương pháp số - Chương 5: Tính gần đúng đạo hàm và tích phân xác định", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Bài giảng Phương pháp số - Chương 5: Tính gần đúng đạo hàm và tích phân xác định

Bài giảng Phương pháp số - Chương 5: Tính gần đúng đạo hàm và tích phân xác định
Chương 5: Tính gần đúng đạo hàm và tích phân xác định 
CHƯƠNG 5 
TÍNH GẦN ĐÚNG ĐẠO HÀM VÀ TÍCH PHÂN XÁC ĐỊNH 
MỤC ĐÍCH, YÊU CẦU 
Sau khi học xong chương 5, yêu cầu sinh viên: 
1. Hiểu và nắm được thế nào là bài toán tính gần đúng đạo hàm và tích phân xác định 
2. Nắm được các phương pháp tính gần đúng đạo hàm, qua đó biết cách tính giá trị gần 
đúng đạo hàm cho một hàm bất kỳ. 
3. Nắm được các phương pháp tính gần đúng tích phân xác định, qua đó biết cách tính giá 
trị gần đúng tích phấn xác định của một hàm bất kỳ 
4. Biết cách áp dụng các phương pháp tính gần đúng trên vào việc giải các bài toán ngoài 
thực tế. 
5. Biết cách đánh giá sai số của từng phương pháp. 
5.1 TÍNH ĐẠO HÀM 
Người ta thường dùng một số phương pháp để tính gần đúng đạo hàm của hàm f(x) tại x 
trong đó hai phương pháp sau đây thường được dùng nhất: 
5.1.1. Áp dụng đa thức nội suy 
Giả sử người ta phải tính xấp xỉ đạo hàm của hàm số f(x) trên đoạn (a,b). Trước hết người ta 
thay hàm f(x) bằng đa thức nội suy p(x), sau đó lấy đạo hàm p'(x) và coi là xấp xỉ của đạo hàm f'(x). 
Ví dụ. 
Giả sử ta xác định được đa thức nội suy là: 
p3(x) =8x3 -29x +5 
Khi đó đạo hàm: 
p3'(x) = 24x2 -29 được xem là xấp xỉ của f'(x). 
5.1.2. Áp dụng công thức Taylor 
Theo công thức Taylor ta có 
f(x +h) = f(x) + 
!1
h f'(x) + 
!2
2h
f''(c) 
c = x+ θh, 0 < θ <1 
Khi | h | khá bé thì có thể bỏ qua số hạng h2
 89
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Chương 5: Tính gần đúng đạo hàm và tích phân xác định 
f(x+h) - f(x) ≈ hf'(x) 
Vậy ta có: f'(x) ≈ 
h
xfhxf )()( −+ 
Đây cũng chính là định nghĩa của đạo hàm. Vậy cách dùng khai triển Taylor cũng chính là 
cách dùng định nghĩa đạo hàm. 
 Chương trình minh họa 
Sau đây là đoạn chương trình chính thể hiện (mô tả) phương pháp tính gần đúng đạo hàm 
bằng phương pháp nội suy 
/*Noi suy dung da thuc Vandermon roi tinh dao ham*/ 
/*Tra ve gia tri da thuc noi suy tai x; avan[i] la cac he so cua da 
 thuc giai truc tiep tu ma tran Vandermon, xqs[I] la 
 cac diem quan sat*/ 
double poli(double x) //Tinh da thuc bang phuong phap Horner 
 {int i;double s; 
 s=avan[nqs]; 
 for(i=nqs-1;i>=0;i--) s= s*x+avan[i]; 
 return s; 
 } 
//=============================================== 
/*Tra ve dao ham gia tri da thuc noi suy tai x; avan[i] la cac he so cua da 
 thuc giai truc tiep tu ma tran Vandermon, xqs[i] la 
 cac diem quan sat*/ 
double poli1(double x) //Tinh da thuc bang phuong phap Horner 
 {int i;double s; 
 s=nqs*avan[nqs]; 
 for(i=nqs-1;i>0;i--) s= s*x+i*avan[i]; 
 return s; 
 } 
//=============================================== 
/*Noi suy bang cach giai truc tiep he phuong trinh tuyen tinh voi 
 ma tran Vandermon */ 
void nsvandermon(double *a) 
 {int i,j,k,n1;kmatran aa;kvecto b; 
 //Tinh ma tran Vandermon 
 for(i=0;i<=nqs;i++) 
 90 
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Chương 5: Tính gần đúng đạo hàm và tích phân xác định 
 {aa[i][0]=1; 
 for(j=1;j<=nqs;j++) 
 aa[i][j]=aa[i][j-1]*xqs[i]; 
 } 
 for(i=0;i<=nqs;i++) aa[i][nqs+1]=yqs[i]; 
 gjordan(aa,a,nqs); 
 } 
5.2. TÍNH GẦN ĐÚNG TÍCH PHÂN XÁC ĐỊNH 
5.2.1. Mô tả bài toán 
Xét tích phân xác định của một hàm số f(x) trong khoảng [a,b] 
 I = ∫ f(x)dx (5.1) b
a
Nếu hàm f(x) liên tục trên [a,b] và có nguyên hàm F(x), thì I có thể tính một cách đơn giản 
thông qua công thức Newton-Leibniz: 
 I = ∫ f(x)dx = F(b) - F(a) (5.2) b
a
Tuy nhiên trong thực tế thì chúng ta thường gặp trường hợp hàm f(x) không có nguyên hàm 
hoặc nguyên hàm quá phức tạp không thể xác định được. Trong những trường hợp này người ta 
phải tính gần đúng (5.1). Có nhiều cách để tính gần đúng tích phân, ví dụ có thể dùng ngay định 
nghĩa của tích phân 
 I = ∑ f(x+∞>−nlim
−
=
1
0
n
i
i)Δxi (5.3) 
Tuy nhiên tổng Darboux hội tụ rất chậm, do đó để đạt được độ chính xác cao đòi hỏi một 
khối lượng tính toán rất lớn. Do đó trong thực tế người ta hầu như không dùng (5.3) để tính xấp xỉ 
tích phân. 
Sau đây là một số phương pháp tính gần đúng tích phân hay được dùng. Ý tưởng cơ bản của 
phương pháp này là chia nhỏ khoảng [a,b] cần lấy tích phân, sau đó trên mỗi khoảng nhỏ này ta 
xấp xỉ hàm số bằng một đa thức. Với các đa thức ta có thể dùng nguyên hàm của chúng để tính 
tích phân, sau đó ta cộng các tích phân thành phần để được xấp xỉ của tích phân toàn thể. 
5.2.2. Công thức hình thang 
a. Mô tả phương pháp 
Ta chia đoạn [a,b] thành n đoạn con bằng nhau: 
a = x0 < x1 < ... < xn = b 
xi =a + ih, h = n
ab − 
i = 0,1,2,... ,n 
 91
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Chương 5: Tính gần đúng đạo hàm và tích phân xác định 
Thay diện tích hình thang cong bằng diện tích hình thang thẳng ta được 
 f(x)dx ≈ h∫2
1
x
x 2
21 yy + (5.4) 
Thực chất của (5.4) là ta đã thay hàm f(x) bằng hàm nội suy 
 p(x) = y0 + h
y0Δ (x-x0) = y0 + Δy0 h
xx 0− (5.5) 
Đặt t = 
h
xx 0− , hay x = x0 + th ta có dx = hdt 
 p(x)dx = ∫ ( y∫2
1
x
x
1
0
0 + tΔy0)hdt = h (ty0 +
2
2t Δy0) | = 10
=
=
t
t
 = h( y0 +
2
1 Δy0) = h 2
10 yy + 
Như vậy 
I = ∫ f(x)dx ≈ I* = b
a n
ab
2
− (y0 +2 y1 + . . . +2 yn-1 + yn) = 
 = h(
2
0 nyy + + y1 + . . . + yn-1) (5.6) 
b. Đánh giá sai số 
Định lý. 
Giả sử hàm số y = f(x) có đạo hàm cấp 2 liên tục và 
| f''(x) | ≤ M2 , x ∈ [a,b] (5.7) 
khi đó ta có đánh giá 
 | I - I*| ≤ 
12
2M h2(b-a) (5.8) 
c. Ví dụ 
Hãy tính gần đúng tích phân 
I = ∫ (1/(1+x1
0
2))dx 
Ta đã biết giá trị đúng của tích phân này là π/4. Như vậy I ≈ 0.78539816 
Ta sẽ tính gần đúng I bằng công thức hình thang rồi so sánh kết quả. 
 92 
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Chương 5: Tính gần đúng đạo hàm và tích phân xác định 
Chia đoạn [0,1] thành n = 10, đoạn con bằng nhau, tức là h = 0.1; ta tính ra bảng sau: 
n x y 
0 0.0 1.0000000 
1 0.1 0.9900990 
2 0.2 0.9615385 
3 0.3 0.9174312 
4 0.4 0.8620690 
5 0.5 0.8000000 
6 0.6 0.7352941 
7 0.7 0.6711409 
8 0.8 0.6097561 
9 0.9 0.5524862 
10 1.0 0.5000000 
Áp dụng công thức hình thang ta được: 
I= h(
2
100 yy + + y1 + . . . + y9) 
Thay giá trị từ bảng trên vào ta có: 
I ≈ 0.7849815 với sai số tương đối là 0.054%. 
d. Chương trình minh họa 
Thuật toán được thực hiện trong chương trình có khác chút ít so với thuật toán đã trình bày ở 
trên. Xuất phát từ n=1, h=b-a, ta sẽ tăng n lên gấp đôi tại mỗi bước tính toán. Quá trình tính toán sẽ 
dừng lại nếu sự khác biệt của tích phân xấp xỉ ở bước hiện tại so với bước trước đó nhỏ hơn một số 
epsilon cho trước. Ta sẽ phân tổng tích phân thành 3 tổng s0,s1 và s2. Tổng s0 = (f(a)+f(b))/2; mỗi 
lần tăng n lên gấp đôi thì ta chỉ cần tính lại tổng s2 ở các vị trí 1,3,5,...,n-1. Tổng s1 là tổng của các 
giá trị hàm tại các điểm không phải là đầu mút. Sau khi tính lại s2, ta tính lại s1 bằng phép gán 
s1=s1+s2 
Và tổng xấp xỉ của tích phân là 
 In = h(s0+s1) 
 Sau đây là đoạn chính của chương trình thể hiện ( mô tả) thuật toán 
/*Phuong phap tinh xap xi tich phan bang phuong phap hinh thang 
 tren khoang [a,b]*/ 
/*Phuong phap hinh thang tinh tich phan xac dinh trong khoang [a,b]. 
 Bien gttp la gia tri xap xi cua tich phan tinh duoc. 
 Tra ve gia tri true neu da dat duoc do chinh xac*/ 
int hinhthang(double (*f)(double),double a,double b,double >tp, 
 93
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Chương 5: Tính gần đúng đạo hàm và tích phân xác định 
 double &err,int &khoangchia) 
{clrscr(); 
 double s0,s1,s2,h,tp,tp1;int k,nkc,i; 
 kvecto x; 
 nkc=1; 
 h=b-a; 
 s0=(f(a)+f(b))/2; 
 s1=0; 
 tp=(s0+s1)*h; 
 do 
 {tp1=tp; 
 nkc=nkc*2; 
 h=h/2; 
 s2=0;//Bat dau tinh tong tai cac diem moi 
 for(i=1;i<nkc;i+=2) s2+=f(a+i*h); 
 s1=s1+s2; 
 tp=h*(s0+s1); 
 if(nkc>nmax) 
 {cout<<endl<<"Tich phan chua hoi tu voi "<<nmax<<" khoang chia"; 
 delay(1000);return false; 
 } 
 } 
 while(fabs(tp-tp1)>epsi); 
 err=fabs(tp-tp1);khoangchia=nkc;gttp=tp; 
 return(true); 
} 
5.2.3. Công thức parabol (Simpson) 
a. Mô tả phương pháp 
Ta chia đoạn [a,b] thành 2n đoạn con bằng nhau 
a = x0 < x1 < ... < x2n = b 
xi =a + ih, h = n
ab
2
− 
yi = f(xi) 
i = 0,1,2,. . . ,2n 
 94 
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Chương 5: Tính gần đúng đạo hàm và tích phân xác định 
Để tính tích phân (5.1) coi khoảng nối 3 điểm liên tiếp nhau là 1 đoạn (như vậy qua 2n+1 
điểm ta có n đoạn), đoạn thứ i(i =0,1,...,n) gồm các điểm x2i, x2i+1, x2i+2, và trong mỗi đoạn con ta 
dùng đa thức nội suy bậc 2 p2(x). 
Giả sử các điểm của một đoạn con là x0,x1,x2 và các giá trị f(x) tương ứng là y0, y1, y2 , 
ta có: 
 f(x)dx ≈ p∫2
0
x
x
∫2
0
x
x
2(x)dx (5.9) 
trong đó 
p2(x) = y0 + h
y0Δ (x-x0) + 20
2
2h
yΔ
 (x-x0)(x-x1) 
= y0 + Δy0 h
xx 0− +Δ2y0 2 102
))((
h
xxxx −−
 (5.10) 
Đặt t = 
h
xx 0− , hay x = x0 + th ta có dx = hdt , 
nếu x = x0 thì t = 0, x=x2 thì t=2. 
Như vậy 
 f(x)dx ≈ ∫ p∫2
0
x
x
2
0
2(x)dx = h (y∫2
0
0+tΔy0 + 
2
)1( −tt Δ2y0)dt = 
 = h( ty0+
2
1 t2Δy0 + 
2
1 (t3/3 - t 2 /2)Δ2y0) | = 20
=
=
t
t
 = h(2y0+2Δy0 + 
2
1 (8/3 - 4 /2)Δ2y0) = 
3
h (y0 + 4 y1 + y2) 
Tính tích phân xấp xỉ cho từng đoạn [x0,x2], [x2,x4], ... ,[x2n-2,x2n] và cộng lại ta có 
∫b
a
f(x)dx ≈ I* = 
3
h [(y0 +y2n) + 4(y1 +y3 + . . . + y2n-1) + 2(y2 +y4 + . . . + y2n-2)] 
 (5.11) 
h= 
n
ab
2
)( − 
Công thức (5.11) được gọi là công thức Simpson. 
b.Đánh giá sai số 
Định lý. 
Giả sử hàm số y = f(x) có đạo hàm cấp 4 liên tục và 
| f(4)(x) | ≤ M4 , x ∈ [a,b] (5.12) 
khi đó ta có đánh giá 
| I - I* | ≤ 
180
4M h4(b-a) (5.13) 
 95
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Chương 5: Tính gần đúng đạo hàm và tích phân xác định 
c. Ví dụ 
Hãy tính gần đúng tích phân 
I = ∫ (1/(1+x1
0
2))dx 
Ta đã biết giá trị đúng của tích phân này là π/4. Như vậy I ≈ 0.78539816 
Ta sẽ tính gần đúng I bằng công thức Simson rồi so sánh kết quả. 
Chia đoạn [0,1] thành 2n = 4 đoạn con bằng nhau, với h=0.25, ta tính ra bảng sau: 
i xi yi=f(xi) 
0 0 1 
1 0.25 0.941176 
2 0.5 0.8 
3 0.75 0.64 
4 1 0.5 
 Theo công thức Simpson ta có 
I = (h/3)*(y0 + y4 + 4y1 + 4y3 + 2y2). Thay các giá trị ở bảng trên vào ta có 
 = (0.25/3)*(1 + 3.76471 + 1.6 +2.56000 + 0.5) ≈ 0.785399 
d. Chương trình minh họa 
Sau đây là đoạn chương trình chính thể hiện (mô tả) thuật toán: 
//SIMSON.CPP 
/*Phuong phap tinh xap xi tich phan bang phuong phap Simson 
 (pp cau phuong) tren khoang [a,b] 
 Bien gttp la gia tri xap xi cua tich phan tinh duoc. 
 Tra ve gia tri true neu da dat duoc do chinh xac*/ 
int simson(double (*f)(double),double a,double b,double >tp, 
 double &err,int &khoangchia) 
{clrscr(); 
 double s0,s1,s2,h,tp,tp1;int k,nkc,i; 
 kvecto x; 
 nkc=1; 
 h=b-a; 
 h=b-a; 
 s0=f(a)+f(b); 
 s1=0; 
 s2=0; 
 96 
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Chương 5: Tính gần đúng đạo hàm và tích phân xác định 
 tp=(s0+2*s1+4*s2)*h/3; 
 do 
 {tp1=tp; 
 s1=s1+s2; 
 nkc=nkc*2; 
 h=h/2; 
 s2=0;//Bat dau tinh tong tai cac diem moi 
 for(i=1;i<nkc;i+=2) s2=s2+f(a+i*h); 
 tp=(s0+2*s1+4*s2)*h/3; 
 if(nkc>nmax) 
 {cout<<endl<<"Tich phan chua hoi tu voi "<<nmax<<" khoang chia"; 
 delay(1000);return false; 
 } 
 } 
 while(fabs(tp-tp1)>epsi); 
 err=fabs(tp-tp1);khoangchia=nkc;gttp=tp; 
 return true; 
} 
5.3. BÀI TẬP 
Bài 1. Cho hàm số y = logx với số các giá trị tại x = 50; 55; 60; 65 tuần tự là 1,6990; 1,7404; 
1,7782; 1,8129. Hãy tính đạo hàm của y tại x = 50 và so sánh với kết quả trực tiếp. 
Bài 2. Cho tích phân 
 I = ∫1
0 x
dx
+1 
 Hãy chia đoạn [0,1] thành n = 10 đoạn con bằng nhau rồi tính gần đúng I và cho đánh giá 
sai số bằng: 
 a) Công thức hình thang 
 b) Công thức Simson 
Bài 3. Cho tích phân 
 I = ∫1
0 x
xsin dx 
 a) Hỏi phải chia đoạn [0,1] thành mấy (n = ?) đoạn con bằng nhau để khi tính gần đúng I 
bằng công thức hình thang bảo đảm được sai số tuyệt đối < 3.10-4
 b) Với n ấy khi tính theo công thức Simson thì sai số là bao nhiêu? 
 c) Hãy tính I với n đã chọn ở trên bằng công thức hình thang và công thức Simson đến 6 
chữ số lẻ thập phân. 
Bài 4. Thử lại hoặc viết mới các chương trình cài đặt các thuật toán rồi chạy thử để kiểm tra các 
kết quả trên đây. 
 97
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Chương 5: Tính gần đúng đạo hàm và tích phân xác định 
TÓM TẮT NỘI DUNG CHƯƠNG 5 
Trong chương này chúng ta cần chú ý nhất là các vấn đề sau: 
1. Tính gần đúng đạo hàm 
Người ta thường dùng một số phương pháp để tính gần đúng đạo hàm của hàm f(x) tại x 
trong đó hai phương pháp sau đây thường được dùng nhất: Áp dụng đa thức nội suy và áp dụng 
công thức Taylor. 
2. Tính gần đúng tích phân 
- Công thức hình thang: 
 + Công thức: 
I = ∫ f(x)dx ≈ I* = = h(b
a 2
0 nyy + + y1 + . . . + yn-1) 
 với h= 
n
ab )( − 
+ Đánh giá sai số 
Giả sử hàm số y = f(x) có đạo hàm cấp 2 liên tục và 
| f''(x) | ≤ M2 , x ∈ [a,b] 
khi đó ta có đánh giá 
 | I - I*| ≤ 
12
2M h2(b-a) 
- Công thức parabol (Simpson) 
+ Công thức: 
I=∫ f(x)dx ≈ I* =b
a 3
h [(y0 +y2n) +4(y1 +y3 + . . . + y2n-1) + 2(y2 +y4 + . . . + y2n2)] 
 với h= 
n
ab
2
)( − 
+ Đánh giá sai số 
Giả sử hàm số y = f(x) có đạo hàm cấp 4 liên tục và 
| f(4)(x) | ≤ M4 , x ∈ [a,b] 
khi đó ta có đánh giá 
| I - I* | ≤ 
180
4M h4(b-a) 
 98 
CuuDuongThanCong.com https://fb.com/tailieudientucntt

File đính kèm:

  • pdfbai_giang_phuong_phap_so_chuong_5_tinh_gan_dung_dao_ham_va_t.pdf