the trapezoidal rule for approximating Definite Integrals

Approximate ∫ 0 1 2 d x 1 + x 2 \int_{0}^\frac{1}{2} \frac{d x}{1+x^{2}} 0211+x2dx by using five subintervals. \quad Ans. 0.463

表达式产出:

leftPoint = 0
rightPoint = 1 / 2
subIntervalNum = 5
subIntervalLen = '{}/{}'.format(rightPoint - leftPoint, subIntervalNum)

expressionStrList = []
for i in range(subIntervalNum + 1):
    expressionStrList.append('1/(1+({leftPoint} + {subIntervalLen} * {i})^2)'.format(leftPoint=leftPoint, subIntervalLen=subIntervalLen, i=i))
joinedExpressionStr = ' + '.join(expressionStrList)
print(joinedExpressionStr)

print('{subIntervalLen}*(1/2*{joinedExpressionStr}*1/2)'.format(subIntervalLen=subIntervalLen, joinedExpressionStr=joinedExpressionStr))

Approximate ∫ 0 3 1 + x 3 d x \int_{0}^{3} \sqrt{1+x^{3}} d x 031+x3 dx using six subintervals. \quad Ans. 7.39. 7.39 . 7.39.

leftPoint = 0
rightPoint = 3
subIntervalNum = 6
subIntervalLen = '{}/{}'.format(rightPoint - leftPoint, subIntervalNum)

expressionStrList = []
for i in range(subIntervalNum + 1):
    expressionStrList.append('sqrt(1+({leftPoint} + {subIntervalLen} * {i})^3)'.format(leftPoint=leftPoint, subIntervalLen=subIntervalLen, i=i))
joinedExpressionStr = ' + '.join(expressionStrList)
print(joinedExpressionStr)

print('{subIntervalLen}*(1/2*{joinedExpressionStr}*1/2)'.format(subIntervalLen=subIntervalLen, joinedExpressionStr=joinedExpressionStr))

你可能感兴趣的:(the trapezoidal rule for approximating Definite Integrals)