Python 如何用Simpson'计算多边形的面积;使用坐标的规则是什么?
此代码使用,但根据以下公式给出了多边形的错误区域:Python 如何用Simpson'计算多边形的面积;使用坐标的规则是什么?,python,Python,此代码使用,但根据以下公式给出了多边形的错误区域: 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 + res
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*
我做错了什么?
如何根据辛普森规则仅使用坐标计算多边形的面积?不要在循环内执行sum=0.5*(sum+result)
。此外,一旦sum
变量超出循环,就根本不需要它。循环完成后只需执行result=0.5*result
,然后打印result
您还需要切换xCoords[i]
和xCoords[i+1]
按照“蜥蜴比尔”说的做(抱歉,我还不能发表评论),或者您也可以在循环中做:
sum = sum + 0.5*result
此外,您正在执行(xCoords[i]-xCoords[i+1])
而不是(xCoords[i+1]-xCoords[i])