Bài toán thực tế sử dụng phương pháp simpson năm 2024

 Mô tả bài toán Giả sử cần tính gần đúng tích phân trên đoạn [a,b] lớn, thì h = b – a theo công thức hình thang theo công thức Simpson với độ sai số xấp xỉ tương ứng ; hoặc còn quá lớn. Để khắc phục được h bé (0 < h < 1) mà vẫn sử dụng được các công thức trên, người ta dựa vào tính chất khả tổng của tích phân xác định, nghĩa là chia đoạn [a,b] thành các đoạn nhỏ rồi áp dụng công thức hình thang hay Simpson trên đoạn nhỏ đó. Có được h nhỏ mà công thức tính toán không phức tạp, thuận lợi cho tính toán và thường sử dụng trong thực tế người ta đã xây dựng nên công thức hình thang và Simpson tổng quát dựa trên công thức hình thang và Simpson.

  1. Công thức hình thang và công thức Simpson Giả sử biết giá trị với trong đó:

Hãy tính gần đúng giá trị tích phân

Chia đoạn [a,b] thành n phần bằng nhau có bước bởi các điểm chia: với đồng thời tại các điểm đó ta có bảng số với Từ bảng số (2), theo công thức cầu phương gần đúng ta có:

trong đó là số không đổi nào đó Ta đi tìm biểu thức hiện của các trong công thức (2). Nếu sử dụng đa thức nội suy Lagrange thì

Do các mốc cách đều nhau bước là b a hn

và 0 x x ht  , nên 0 0 0 ( ) ( 1) ( ) !( )! n n xn i j i x t j A d x ht i n i t i         

  • 1. TÍCH PHÂN XÁC ĐỊNH BẰNG CÔNG THỨC SIMPSON Phương pháp số
  • 2. 1. Lí thuyết 2. Thuật toán 3. Chương trình 4. Đồ thị 5. Chương trình Pascal
  • 3.
  • 4. 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. 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. 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. 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.
  • 9.
  • 10.
  • 11.
  • 12. đâ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. 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. 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. 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. đã đượ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.
  • 18. 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. 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. 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. 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. 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. 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. Begin Clrscr; Simpson_so_sanh; Readln; End. PPS 4. Đồ thị
  • 25. đã đượ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. thị minh hoạ sau : Đồ thị được vẽ bằng chương trình EXCEL. PPS 4. Đồ thị
  • 27. đâ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. 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. 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. trình PASCAL
  • 31. 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. 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ế