基于VB的数值积分算法 '这里的第一个Public为积分函数mathzcm段 Public Function mathzcm(ByVal a!,ByVal b!,ByVal n%)As Single Dim sum!,h!,x! h=(b-a)/n sum=(f(a)+f(b))/2 For i=1 To n-1 x=a+i*h sum=sum+f(x) Next i mathzcm=sum*h End Function '另行定义自己需要的a,b,n的值…… Public Function
原理:
利用复化梯形公式,复化Simpson公式,计算积分。
步骤:
import math
测试函数
def f(x,i):
if i == 1:
return (4 - (math.sin(x)) ** 2) ** 0.5
if i == 2:
if x == 0:
return 1
else:
return math.sin(x) / x
if i == 3:
return (math.exp(x)) / (4 + x