PRINT PRINT "< 積分の近似値を近づける >" PRINT " 分割小区間数 : 1万の場合" PRINT DEF f(x)=(1/2)*SIN(x) ! f(x)=3*x^2 への置き換えも試みてください LET a=0 LET b=PI ! b=1 : f(x)=3*x^2 への置き換えたとき LET n=10000 LET S=1 LET h=(b-a)/n ! 小区間の幅 LET Q=0 ! 単純な積分 FOR i=0 TO n-1 LET Q=Q+h*f(a+i*h) NEXT i PRINT "単純な積分:" PRINT " ";Q;" 誤差:";ABS(S-Q) PRINT LET W=0 ! 台形公式 FOR i=0 TO n-1 LET W=W+h*(f(a+i*h)+f(a+(i+1)*h))/2 NEXT i PRINT "台形公式:" PRINT " ";W;" 誤差:";ABS(S-W) PRINT LET E=0 ! 中点公式 FOR i=0 TO n-1 LET E=E+h*f(a+(i+0.5)*h) NEXT i PRINT "中点公式:" PRINT " ";E;" 誤差:";ABS(S-E) PRINT LET R=0 ! 単純な積分の小区間数3倍 FOR i=0 TO n-1 LET R=R+(h/3)*(f(a+i*h)+f((a+(i+1/3))*h)+f((a+(i+2/3))*h)) NEXT i PRINT "単純な積分の小区間数3倍:" PRINT " ";R;" 誤差:";ABS(S-R) PRINT LET T=(W+2*E)/3 ! 台形公式と中点公式の加重平均 PRINT "台形公式と中点公式の加重平均 ( 1:2 ):" PRINT " ";T;" 誤差:";ABS(S-T) PRINT END