如何使用坐标计算Simpson规则的多边形面积?

时间:2016-03-03 16:05:20

标签: python

此代码使用Simpson's rule,但通过以下公式给出多边形的错误区域:

enter image description here

def defineArea(xCoords, yCoords):    

    i = 0
    sum = 0
    for i in xrange(len(xCoords) - 1):         
        result = (xCoords[i] - xCoords[i+1])*(yCoords[i]+ yCoords[i+1])

        i +=1
        sum = 0.5*(sum + result)
    print "Total 2D area is: ", sum*

我做错了什么? 如何仅使用坐标来计算Simpson规则的多边形面积?

2 个答案:

答案 0 :(得分:2)

不要在循环中执行sum = 0.5*(sum + result)。此外,一旦它在循环之外,您根本不需要sum变量。在循环完成后,只需result = 0.5 * result,然后打印result

您还需要切换xCoords[i]xCoords[i+1]

的顺序

答案 1 :(得分:1)

做“比尔蜥蜴”说的话(抱歉我还不能发表评论),或者你也可以在循环中做到这一点:

sum = sum + 0.5*result

此外,您正在(xCoords[i] - xCoords[i+1])而不是(xCoords[i+1] - xCoords[i])