Dùng VB có thể tính tích phân ko ?

Xem chủ đề cũ hơn Xem chủ đề mới hơn Go down

Dùng VB có thể tính tích phân ko ?

Bài gửi by thuhanoi on Tue May 11, 2010 9:06 am

Question Tớ muốn viết một phần mềm nho nhỏ để tính tích phân của một hàm số với các cận cho trước, bạn nào biết chỉ dùm với nha ! Thanks

thuhanoi
Mới đăng ký
Mới đăng ký

Tổng số bài gửi : 1
Join date : 20/04/2010

Xem lý lịch thành viên

Về Đầu Trang Go down

Re: Dùng VB có thể tính tích phân ko ?

Bài gửi by mario on Tue May 11, 2010 10:05 am

Có nhiều phương pháp để tính gần đúng tích phân xác định của một hàm số, sau đây mình sẽ giới thiệu phương pháp đơn giản nhất là phương pháp hình thang.

Như ta đã biết, tích phân xác định của một hàm số 1 biến số trong khoảng (a, b) bằng phần diện tích phía trên trục hoành trừ đi phần diện tích phía dưới trục hoành.


Để tính diện tích của các phần phía trên và phía dưới trục hoành, ta tính gần đúng bằng cách chia nhỏ hình ra thành các đoạn có chiều rộng bằng nhau như hình:


Sau đó ta tính diện tích của mỗi hình nhỏ rồi cộng chúng lại với nhau. Chia hình càng nhỏ thì độ chính xác càng cao.

Bạn mở một Project mới, thêm vao form một Button tên Buton1 và viết code như sau:

Đây là code tính tích phân của hàm y= sin(x) :
Public Class Form1
  Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    Dim a As Double, b As Double, S As Double, Si As Double, dx As Double, x As Double, y As Double, N As Integer
    a = 0 ' cận dưới
    b = 2 ' cận trên
    N = 1000 ' Chia thành N hình con
    dx = (b - a) / 1000 ' Chiều rộng của mỗi hình con
    S = 0
     For i As Integer = 0 To N - 1
     x = a + i * dx ' Tọa độ của hình con thứ i

      '__________ Ở đây ta ví dụ tính tích phân của hàm y =Sin(x) __________
      ' Nếu muốn tính các hàm khác thì thay hàm ở chỗ này.

     y = Math.Sin(x) ' Chiều cao của hình con thứ i
      '_____________________________________________________________________

      Si = dx * y ' Diện tích của hình con thứ i (Si = rộng * cao), diện tích này có thể < 0 khi y <0
      S = S + Si ' Diện tích tổng bằng tổng các diện tích
     Next
MsgBox("Giá trị tích phân là: " + S.ToString)
  End Sub
End Class


Nếu muốn tính cho các hàm khác ta chỉ cần thay đoạn y = Math.Sin(x) bằng hàm tương ứng.
Ví dụ:
y = log(x)
y = x^2+1
.........

mario
Mới đăng ký
Mới đăng ký

Tổng số bài gửi : 2
Join date : 11/05/2010

Xem lý lịch thành viên

Về Đầu Trang Go down

Xem chủ đề cũ hơn Xem chủ đề mới hơn Về Đầu Trang


 
Permissions in this forum:
Bạn không có quyền trả lời bài viết