热门问题
时间线
聊天
视角

矩形法

来自维基百科,自由的百科全书

矩形法
Remove ads
Remove ads

微積分中,矩形法是一種計算定積分近似值的方法,其思想是求若干個矩形的面積之和,這些矩形的高由函數值來決定。[1]


積分區間 劃分為 個長度相等的子區間,每個子區間的長度為 。這些矩形左上角、右上角或頂邊中點在被積函數圖像上。這樣,這些矩形的面積之和就約等於定積分的近似值。有:

其中可以是以下三個值 之一,由函數圖像上的點為矩形的左上角、右上角或頂邊中點來決定。

n 逐漸擴大時,此近似值更加準確。矩形法的計算本質上是與黎曼積分的定義相吻合的。上述的無論取哪個值,最終和式的值都將趨近於定積分的值。[2]

Remove ads

C 語言代碼

#include <stdio.h>
#include <math.h>

double f(double x){
   return sin(x);
   /*也可以回传其他数学子程序,像cos(2*x)或2*atan(3*x+1)-1*/
}

double rectangle_integrate(double a, double b, int subintervals){
   double result;
   double interval;
   int i;
   
   interval=(b-a)/subintervals;
   result=0;
   
   for(i=1;i<=subintervals;i++){
      result+=f(a+interval*(i-0.5));
   }
   result*=interval;

   return result;
}

int main(void){
   double integral;
   integral=rectangle_integrate(0,2,100);
   printf("Integral: %f \n",integral);
   return 0;
}
Remove ads

Fortran 語言代碼

      
      Program Calc

      Double Precision f,y,a,b,J,mult,sum,c1,c2
      Sum=0.0
      c2=0.0
      c1=0.0

      Print*,'Enter the start and end of the interval'
      Read*,a,b
      If (b.gt.a) then
         goto 1
      Else
         goto 2
      End If
      
  1   Do J=a,b,.00000001
         c1=J
         Y=F(((c1+c2)/2))
         Mult=Y*.00000001
         Sum=sum+mult
         c2=c1
      End Do

  2   Do J=a,b,-.00000001
         c1=J
         Y=F(((c1+c2)/2))
         Mult=Y*.00000001
         Sum=sum+mult
         c2=c1
      End Do

      Print*,Sum
  3   Format (F20.5)
      End

      Double Precision Function f(x)
      Double Precision x

      F=(4)/((x**2)+1)

      Return
      End
Remove ads

注釋與參考

另見

Loading content...
Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads