Tính gần đúng tích phân [Công thức hình thang]

Thông thường muốn tính tích phân xác định của một hàm số trên đoạn $[a,b]$ ta tìm nguyên hàm của hàm đó và thay cận từ $a$ đến $b$. Tuy nhiên trong khoa học và kỹ thuật không phải lúc nào ta cũng tìm được nguyên hàm của một hàm cho trước, tức là đôi khi tồn tại nguyên hàm của một hàm nhưng chúng ta không thể biểu diễn nguyên hàm ấy dưới dạng các hàm sơ cấp. Chính vì vậy mà sẽ có một số giải pháp để tính tính phân những hàm như thế. Thêm vào đó với sự phát triển của công nghệ thông tin, thì sự hỗ trợ của máy tính là rất tuyệt vời, tuy nhiên để máy tính có thể hiểu được thì chúng ta phải có một thuật toán. Từ đó chúng ta sẽ thiết lập các phương pháp tính xấp xỉ mà nếu với sự hỗ trợ của máy tính ta sẽ có những kết quả xấp xỉ hoàn toàn chấp nhận được.

Bài viết này trình bày cách tính gần đúng tích phân bằng công thức hình thang. Mục tiêu bài viết là nêu lên công thức, cách áp dụng và một số thủ thuật thao tác khi làm nhằm phục vụ cho môn học giải tích số (phương pháp tính) ở đại học.

Bài toán: Tính gần đúng tích phân:

$$\displaystyle \int_a^bf(x)dx$$

Công thức hình thang:

$$\displaystyle \int_a^bf(x)dx\approx\frac{h}{2}\left[f(a)+f(b)+2\sum_{i=1}^{n-1}f(x_i)\right]$$

trong đó

$\displaystyle h=\frac{b-a}{n}$ với $n$ là số đoạn được chia trên đoạn $[a,b]$

$\displaystyle x_0=a, x_n=b, x_i=x_0+ih, i=\overline{1,n}$

Vấn đề sai số:

$$\displaystyle \epsilon<\frac{M(b-a)}{12}\times h^2$$

trong đó $\displaystyle M=\max_{[a,b]} \big|f''(x)\big|$

Ví dụ: Tính gần đúng tích phân: $\displaystyle \int_1^5\frac{dx}{x}$ với $n=4$.

+) Ta tính $\displaystyle h=\dfrac{b-a}{n}=\dfrac{5-1}{4}=1$

+) $\displaystyle f(x)=\dfrac{1}{x}$

Bảng các giá trị $x_i$ và $f(x_i)$ (Việc làm này giúp cho việc áp dụng công thức được rõ ràng rành mạch và không bị sai)

$$\begin{array}{c|c|c|c|c|c}x_i & x_0=a & x_1 & x_2 & x_3 & x_4=b\\\hline f(x_i) &1 & \dfrac{1}{2} & \dfrac{1}{3} & \dfrac{1}{4} & \dfrac{1}{5}\end{array}$$

Áp dụng công thức hình thang ta được:

$\displaystyle \int_1^5\dfrac{1}{x}dx\approx\dfrac{h}{2}\left[f(a)+f(b)+2\sum_{i=1}^{3}f(x_i)\right]$

$\displaystyle \int_1^5\dfrac{1}{x}dx\approx\dfrac{1}{2}\Big[f(x_0)+f(x_4)+2\left(f(x_1)+f(x_2)+f(x_3)\right)\Big]$

$\displaystyle \int_1^5\dfrac{1}{x}dx\approx\dfrac{1}{2}\left[1+\dfrac{1}{5}+2\left(\dfrac{1}{2}+\dfrac{1}{3}+\dfrac{1}{4}\right)\right]=\dfrac{101}{60}$

Vấn đề sai số

$\displaystyle f(x)=\dfrac{1}{x},f'(x)=-\dfrac{1}{x^2}, f''(x)=\dfrac{2}{x^3}$

$\displaystyle M=\max_{[a,b]}\big|f''(x) \big|=\max_{[1,5]}\left|\dfrac{2}{x^3}\right|=2$

Suy ra

$\displaystyle \epsilon<\dfrac{M(b-a)}{12}\times h^2=\dfrac{2\times (5-1)}{12}\times 1^2=\dfrac{2}{3}$

Nhận xét: Nếu $n$ càng lớn, tức là ta chia đoạn $[a,b]$ thành càng nhiều phần hay thuật ngữ giải tích gọi là "mịn" thì giá trị của tích phân ta càng chính xác. Điều này chỉ có ý nghĩa khi có sự hỗ trợ của máy tính. Với tốc độ của máy tính thì việc cho $n$ bằng trăm, ngàn, thậm chí triệu thì việc tính toán cũng chỉ xảy ra trong vài giây.

Lưu ý là việc chia đoạn $[a,b]$ thành $n$ phần không nhất thiết phải bằng nhau, tức không phụ thuộc vào cách chia và cách chọn mốc $x_i$, tuy nhiên ta nên chọn cách đều cho dễ thao tác. Đối với lập trình thì việc chọn mốc cách đều giúp ta có thể xây dựng được một vòng lặp bằng một số câu lệnh đơn giản một cách dễ dàng.

Bài tập rèn luyện

Bài tập 1. $\displaystyle \int_0^1\frac{dx}{x+1}$ với $n=5$

+) Ta tính $h=\dfrac{b-a}{n}=\dfrac{1-0}{5}=\dfrac{1}{5}$

+) Bảng các giá trị ${{x}_{i}}$ và $f\left( {{x}_{i}} \right)$

$$\begin{array}{|l|l|l|l|l|l|l|} \hline & x_0 & x_1 & x_2 & x_3 & x_4 & x_5 \\ \hline x_i & 0 & \dfrac{1}{5} & \dfrac{2}{5} & \dfrac{3}{5} & \dfrac{4}{5} & 1 \\ \hline f(x_i) & 1 & \dfrac{5}{6} & \dfrac{5}{7} & \dfrac{5}{8} & \dfrac{5}{9} & \dfrac{1}{2} \\ \hline \end{array}$$

+) Áp dụng công thức hình thang ta có

$\displaystyle \int\limits_{0}^{1}{\dfrac{dx}{x+1}}\approx \dfrac{h}{2}\left[ f\left( a \right)+f\left( b \right)+2\sum\limits_{i=1}^{4}{f\left( {{x}_{i}} \right)} \right]$

$=\dfrac{\dfrac{1}{5}}{2}\left[ \left( 1+\dfrac{1}{2} \right)+2\left( \dfrac{5}{6}+\dfrac{5}{7}+\dfrac{5}{8}+\dfrac{5}{9} \right) \right]$

$=\dfrac{1753}{2520}$

Vậy $\int\limits_{0}^{1}{\dfrac{dx}{x+1}}\approx \dfrac{1753}{2520}$

Vấn đề sai số

$f\left( x \right)=\dfrac{1}{x+1}$

$\Rightarrow f'\left( x \right)=-\dfrac{1}{{{\left( x+1 \right)}^{2}}}$

$\Rightarrow f''\left( x \right)=\dfrac{2}{{{\left( x+1 \right)}^{3}}}$

$\Rightarrow M=\underset{\left[ 0;1 \right]}{\mathop{\max }}\,\left| f''\left( x \right) \right|=\underset{\left[ 0;1 \right]}{\mathop{\max }}\,\left| \dfrac{2}{{{\left( x+1 \right)}^{3}}} \right|=2$

$\Rightarrow \varepsilon <\dfrac{M\left( b-a \right)}{12}\times {{h}^{2}}=\dfrac{2\left( 1-0 \right)}{12}\times {{\left( \dfrac{1}{5} \right)}^{2}}=\dfrac{1}{30}$

Bài tập 2. Tính gần đúng tích phân sau: $\displaystyle \int_2^{3.5}\frac{1+x}{1-x}dx$ với $n=12$

Bài tập 3. Tính gần đúng tích phân sau: $\displaystyle \int_0^{1}\frac{dx}{1+x^2}$ với $n=5$

Bài tập 4. Tính gần đúng tích phân sau: $\displaystyle \int_0^{1}\frac{\sin x}{x}dx$ với $n=5$

Bài tập 5. Tính gần đúng tích phân sau: $\displaystyle \int_0^{1}\frac{dx}{1+\sqrt{x}}$ với $\epsilon=10^{-2}$

Bài tập 6. Tính gần đúng tích phân sau: $\displaystyle \int_1^{2}\frac{dx}{1+x^2}$ với $\epsilon=0.02$

Bài tập 7. Tính gần đúng tích phân sau: $\displaystyle \int_1^{3}\sqrt{1+3x}dx$ với $n=5$

Bài tập 8. Tính gần đúng tích phân sau: $\displaystyle \int_0^{2}\sqrt{1+x}dx$ với $n=5$

Post a Comment

7 Comments

  1. Cảm ơn bài viết

    ReplyDelete
  2. nếu trong bài tâp không cho n (số đoạn chia) thì sẽ lấy n là bao nhiêu ạ

    ReplyDelete
    Replies
    1. Câu hỏi khá hay! Nếu $n$ càng lớn thì kết quả càng chính xác, giờ thì bạn muốn chọn bao nhiêu thì tùy, học tập thì chọn $n$ nhỏ, ví dụ $n=10$, còn nếu muốn chính xác hơn bạn cho $n$ lớn hơn, hoặc nếu đề cho sai số thì dựa vào công thức sai số để tìm ra $n$

      Delete
  3. có lời giải chi tiết bài tập không ạ

    ReplyDelete
    Replies
    1. Xem kỹ ví dụ chi tiết nha! Chắc chắn sẽ làm được bài tập! Gook luck!

      Delete
  4. Nếu mà hàm f(x) phức tạp, mình ko tìm đc sup|f''(x)| thì nên làm như nào ạ? (Đề cho độ chính xác và bắt đi tìm n ạ)

    ReplyDelete
  5. giải bài tập 4 đi ạ

    ReplyDelete

Vui lòng đăng nhập google để bình luận
Để gõ công thức toán, hãy đặt [biểu thức toán] trong dấu $$
Ví dụ: $[biểu thức toán]$