TÍNH GẦN ĐÚNG TÍCH PHÂN XÁC ĐỊNH BẰNG CÔNG THỨC SIMPSON   Phương pháp số
Nội dung : 1. Lí thuyết   2. Thuật toán  3. Chương trình   4. Đồ thị   5. Chương trình Pascal
1. Lí thuyết
Tìm giá trị gần đúng của tích phân xác định sau : Trong đó  f(x)   là một hàm liên tục và khả vi trên đoạn  .   (1) Cách g...
Khi đó, ta có :   trong đó   Công thức (2) gọi là công thức Simpson đơn giản   (2) Để gia tăng độ chính xác khi lấy tích p...
Ta có :   các mốc là   Giá trị của hàm tương ứng   Ta có các phép biến đổi sau : PPS 1. Lí thuyết
Vậy : (4)   Công thức (4) gọi là công thức Simpson mở rộng   Để thuận tiện cho việc viết thuật toán cũng như viết chương t...
2. Thuật toán
<ul><li>Xác lập hàm dưới dấu tích phân  f(x)  và 2 cận a, b cùng với số các khoảng con n (n là một số chẳn :  n = 2k ). </...
<ul><li>Cho biến i chạy từ 1 đến  k , thực hiện các công việc sau : </li></ul><ul><li>Cho biến i chạy từ 1 đến  k – 1 , th...
3. Chương trình
Chương trình sau đây được xây dựng để tính tích phân  của hàm  y = 2x  trong một đoạn  cho trước (mà nếu  tính giải tích s...
Program TINH_TICH_PHAN_BANG_CONG_THUC_SIMPSON; Uses crt; Var  a,b,k:integer; {------------------------Xac lap ham f(x)----...
{-----------------------Thu tuc SIMPSON-----------------------} Procedure Simpson(a,b,k:integer); Var  i:integer; h,x,S1,S...
{=====================Chuong trinh chinh======================} Begin Clrscr; Writeln('Chuong trinh :'); Writeln('TINH GAN...
Chương trình trên đã được chạy thử với 2 cận a = 0, b =1, số các khoảng con bằng 4.  Kết quả được hiển thị như hình bên dư...
4. Đồ thị
Để kiểm tra chương trình trên chạy có chính xác hay không, ta so sánh một kết quả được tính bằng chương trình với một kết ...
Vì hàm dưới dấu tích phân đã cho quá đơn giản nên giá trị của hàm  G(x)  được tính xấp xỉ (dùng chương trình) đúng bằng gi...
Đồ thị của hai hàm  F(x)  và  G(x)  trùng nhau trên cùng một h ệ  trục toạ độ Oxy. Đồ thị được vẽ bằng chương trình EXCEL....
Bây giờ ta xét hàm  f(x)  phức tạp hơn :  Lúc này ta sẽ có : Sử dụng chương trình trên, chỉ thay đổi hàm  f(x) , cố định đ...
Program SO_SANH_DANH_GIA_KET_QUA; Uses crt; Var  a,b,k:integer; {------------------Xac lap ham f2(x)---------------} Funct...
{-------------Thu tuc SIMPSON_So sanh--------------} Procedure Simpson_so_sanh; Var  i,j:integer; S1,S2,h,x,T:real; Begin ...
{================Chuong trinh chinh================} Begin Clrscr; Simpson_so_sanh; Readln; End. PPS 4. Đồ thị
Chương trình trên đã được chạy thử. Kết quả được hiển thị như hình bên dưới : Nhận xét :  Các giá trị chênh lệch nhau khôn...
Ta có đồ thị minh hoạ sau : Đồ thị được vẽ bằng chương trình EXCEL. PPS 4. Đồ thị
Đồ thị sau đây cũng vẽ 2 hàm  G(x)  và  F(x)  như trên nhưng trong chương trình tính giá trị hàm  G(x)  ta đã cố định số c...
Tại các điểm  x = 7,8,9,10  hai đồ thị chênh lệch nhau khá rõ ràng, bởi vì lúc này đoạn  có độ dài lớn trong khi số các kh...
Kết luận :  Dựa vào số liệu kết quả và các đồ thị ở trên, ta thấy được ưu điểm của phương pháp này, đó là : tích phân tìm ...
5. Chương   trình PASCAL
Hãy  Click  vào biểu tưởng sau để chạy toàn bộ chương trình Click vào  để xem nội dung file  tpSim1.txt   PPS 5. CT Pascal
Keát thuùc Sinh viên thực hiện :  LÊ MINH HIẾU Nhóm :  Toán Ứng Dụng Lớp :  Cử nhân chất lượng cao - Đại học Huế
Upcoming SlideShare
Loading in...5
×

Simpson

7,047

Published on

Phương pháp tính tích phân xác định trên đoạn [a,b]

Published in: Education, Sports
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
7,047
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
222
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Simpson

  1. 1. TÍNH GẦN ĐÚNG TÍCH PHÂN XÁC ĐỊNH BẰNG CÔNG THỨC SIMPSON Phương pháp số
  2. 2. Nội dung : 1. Lí thuyết 2. Thuật toán 3. Chương trình 4. Đồ thị 5. Chương trình Pascal
  3. 3. 1. Lí thuyết
  4. 4. Tìm giá trị gần đúng của tích phân xác định sau : Trong đó f(x) là một hàm liên tục và khả vi trên đoạn . (1) Cách giải quyết : Sử dụng công thức SIMPSON. Cụ thể như sau : Chia đoạn thành 2 đoạn bằng nhau với 3 mốc các giá trị tương ứng là Bài toán đặt ra : PPS 1. Lí thuyết
  5. 5. Khi đó, ta có : trong đó Công thức (2) gọi là công thức Simpson đơn giản (2) Để gia tăng độ chính xác khi lấy tích phân trên các khoảng lớn hơn, khoảng (a,b) có thể được chia nhỏ hơn nữa thành n bước. Việc định trị qua 3 điểm (tương đương với việc có hai khoảng) đối với mỗi khoảng con đòi hỏi rằng phải có một số chẳn các khoảng con. Nghĩa là chúng ta có thể khai triển số các khoảng con dưới dạng n = 2k . PPS 1. Lí thuyết
  6. 6. Ta có : các mốc là Giá trị của hàm tương ứng Ta có các phép biến đổi sau : PPS 1. Lí thuyết
  7. 7. Vậy : (4) Công thức (4) gọi là công thức Simpson mở rộng Để thuận tiện cho việc viết thuật toán cũng như viết chương trình sau này, công thức (4) được viết lại như sau : (5) PPS 1. Lí thuyết
  8. 8. 2. Thuật toán
  9. 9. <ul><li>Xác lập hàm dưới dấu tích phân f(x) và 2 cận a, b cùng với số các khoảng con n (n là một số chẳn : n = 2k ). </li></ul><ul><li>Tính </li></ul><ul><li>Gán : </li></ul>Giải thích : là tổng các giá trị của hàm f(x) tại các điểm x có chỉ số là số chẳn là tổng các giá trị của hàm f(x) tại các điểm x có chỉ số là số lẽ PPS 2. Thuật toán
  10. 10. <ul><li>Cho biến i chạy từ 1 đến k , thực hiện các công việc sau : </li></ul><ul><li>Cho biến i chạy từ 1 đến k – 1 , thực hiện các công việc sau : </li></ul><ul><ul><li>Tính </li></ul></ul><ul><ul><li>Tính </li></ul></ul> dừng chương trình <ul><ul><li>Tính </li></ul></ul><ul><ul><li>Tính </li></ul></ul><ul><li>Tính </li></ul>Giải thích : Trong thuật toán trên, cách sử dụng các biến x bằng kí hiệu là và chỉ với mục đích dể hiểu, còn trong chương trình vẫn dùng một biến chung là x. PPS 2. Thuật toán
  11. 11. 3. Chương trình
  12. 12. Chương trình sau đây được xây dựng để tính tích phân của hàm y = 2x trong một đoạn cho trước (mà nếu tính giải tích sẽ cho kết quả là ). Ngôn ngữ lập trình : Turbo Pascal 7.0 Chương trình được viết tương ứng 1-1 với giải thuật đã được trình bày ở trên. PPS 3. Chương trình
  13. 13. Program TINH_TICH_PHAN_BANG_CONG_THUC_SIMPSON; Uses crt; Var a,b,k:integer; {------------------------Xac lap ham f(x)---------------------} Function f(x:real):real; Begin f := 2*x; End; {-------------------------Ket thuc ham------------------------} PPS 3. Chương trình
  14. 14. {-----------------------Thu tuc SIMPSON-----------------------} Procedure Simpson(a,b,k:integer); Var i:integer; h,x,S1,S2,T:real; Begin h := (b-a)/(2*k); S1 := 0; S2 := 0; For i:=1 to k-1 do Begin x := a + 2*i*h; S1 := S1 +f(x); End; For i:=1 to k do Begin x := a + (2*i-1)*h; S2 := S2 + f(x); End; T := (h/3)*(f(a) + f(b) + 2*S1 + 4*S2); Writeln('----------------------------------------------'); Writeln('Ket qua :'); Writeln(' T = ',T:5:5); End; {----------------------Ket thuc thu tuc-----------------------} PPS 3. Chương trình
  15. 15. {=====================Chuong trinh chinh======================} Begin Clrscr; Writeln('Chuong trinh :'); Writeln('TINH GAN DUNG TICH PHAN XAC DINH BANG CONG THUC SIMPSON'); Writeln(' ********************************'); Readln; Writeln; Writeln('Nhap gia tri nguyen cua can a :'); Readln(a); Writeln('Nhap gia tri nguyen cua can b :'); Readln(b); Writeln('So cac khoang con la mot so chan n=2k, ban hay nhap so k :'); Readln(k); Simpson(a,b,k); Writeln('----------------------------------------------'); Writeln('Chuong trinh ket thuc'); Readln; End. PPS 3. Chương trình
  16. 16. Chương trình trên đã được chạy thử với 2 cận a = 0, b =1, số các khoảng con bằng 4. Kết quả được hiển thị như hình bên dưới : PPS 3. Chương trình
  17. 17. 4. Đồ thị
  18. 18. Để kiểm tra chương trình trên chạy có chính xác hay không, ta so sánh một kết quả được tính bằng chương trình với một kết quả được tính giải tích. Ta đặt hàm G(x) là một hàm được xác định như sau : Giá trị của làm G(x) được tính bằng cách xấp xỉ, tức là sử dụng chương trình trên để lấy kết quả với cận a cố định bằng 0, còn cận b (tương ứng với biến x trong tích phân trên) được nhập từ bàn phím. Hàm thứ 2 là nguyên hàm của hàm y = 2x mà ta đã biết Cho x nhận giá trị từ 1 đến 5, ta sẽ có các giá trị tương ứng của hai hàm trên. Sau đó ta vẽ các điểm (x,F(x)) và (x,G(x)) lên cùng một hệ trục toạ độ Oxy. Nối các điểm với nhau rồi so sánh hình dáng của 2 đồ thị. PPS 4. Đồ thị
  19. 19. Vì hàm dưới dấu tích phân đã cho quá đơn giản nên giá trị của hàm G(x) được tính xấp xỉ (dùng chương trình) đúng bằng giá trị của hàm F(x) được tính giải tích. Ta có bảng thống kê số liệu sau : PPS 4. Đồ thị 25 16 9 4 1 F(x) 25 16 9 4 1 G(x) 5 4 3 2 1 x
  20. 20. Đồ thị của hai hàm F(x) và G(x) trùng nhau trên cùng một h ệ trục toạ độ Oxy. Đồ thị được vẽ bằng chương trình EXCEL. PPS 4. Đồ thị
  21. 21. Bây giờ ta xét hàm f(x) phức tạp hơn : Lúc này ta sẽ có : Sử dụng chương trình trên, chỉ thay đổi hàm f(x) , cố định điểm a = 0 , số các khoảng con bằng 2b , còn điểm b sẽ nhận giá trị lần lượt từ 1 đến 10, đồng thời ta xác lập thêm hàm F(x) để đối chiếu kết quả. Chương trình cụ thể như sau : PPS 4. Đồ thị
  22. 22. Program SO_SANH_DANH_GIA_KET_QUA; Uses crt; Var a,b,k:integer; {------------------Xac lap ham f2(x)---------------} Function f2(x:real):real; Begin f2 := sqrt(1+x*x); End; {-------------------Ket thuc ham-------------------} {---------------Nguyen ham cua ham f2--------------} Function f(x:real):real; Begin f := (x/2)*sqrt(1+x*x) + ln(x+sqrt(1+x*x))/2; End; {-------------------Ket thuc ham-------------------} PPS 4. Đồ thị
  23. 23. {-------------Thu tuc SIMPSON_So sanh--------------} Procedure Simpson_so_sanh; Var i,j:integer; S1,S2,h,x,T:real; Begin a :=0; Writeln('Ket qua :'); Writeln('~~~~~~~~~'); Write('x':7);Write('|':9); Write('Tinh xap xi':16); Write('|':6); Write('Tinh giai tich':19); Write('|':6); Write('So khoang con':16); Writeln; For i:=1 to 80 do write('='); Writeln; For j:=1 to 10 do Begin b :=j; k :=j; h := (b-a)/(2*k); S1 := 0; S2 := 0; For i:=1 to k-1 do Begin x := a + 2*i*h; S1 := S1 +f2(x); End; For i:=1 to k do Begin x := a + (2*i-1)*h; S2 := S2 + f2(x); End; T := (h/3)*(f2(a) + f2(b) + 2*S1 + 4*S2); Write(j:7); Write('|':9); Write(T:14:5); Write('|':8); Write(f(b):17:5); Write('|':8); Write(2*k:11); Writeln; End; End; {-----------------Ket thu thu tuc------------------}
  24. 24. {================Chuong trinh chinh================} Begin Clrscr; Simpson_so_sanh; Readln; End. PPS 4. Đồ thị
  25. 25. Chương trình trên đã được chạy thử. Kết quả được hiển thị như hình bên dưới : Nhận xét : Các giá trị chênh lệch nhau không đáng kể, mặc dù số các khoảng con không lớn so với độ dài của đoạn PPS 4. Đồ thị
  26. 26. Ta có đồ thị minh hoạ sau : Đồ thị được vẽ bằng chương trình EXCEL. PPS 4. Đồ thị
  27. 27. Đồ thị sau đây cũng vẽ 2 hàm G(x) và F(x) như trên nhưng trong chương trình tính giá trị hàm G(x) ta đã cố định số các khoảng con luôn bằng 2. Đồ thị được vẽ bằng chương trình EXCEL. PPS 4. Đồ thị
  28. 28. Tại các điểm x = 7,8,9,10 hai đồ thị chênh lệch nhau khá rõ ràng, bởi vì lúc này đoạn có độ dài lớn trong khi số các khoảng con luôn bằng 2. Do đó ta có nhận xét : Nhận xét : Số các khoảng con phải chọn sao cho phù hợp với khoảng cách đoạn thì phương pháp này sẽ cho kết quả với độ chính xác cao. PPS 4. Đồ thị
  29. 29. Kết luận : Dựa vào số liệu kết quả và các đồ thị ở trên, ta thấy được ưu điểm của phương pháp này, đó là : tích phân tìm được có độ chính xác cao, thậm chí đối với các hàm đơn giản như y = 2x (tổng quát : y = ax + b ), phương pháp này cho ta kết quả chính xác đến 100%. PPS 4. Đồ thị
  30. 30. 5. Chương trình PASCAL
  31. 31. Hãy Click vào biểu tưởng sau để chạy toàn bộ chương trình Click vào để xem nội dung file tpSim1.txt PPS 5. CT Pascal
  32. 32. Keát thuùc Sinh viên thực hiện : LÊ MINH HIẾU Nhóm : Toán Ứng Dụng Lớp : Cử nhân chất lượng cao - Đại học Huế
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×