Рассчитайте площадь под каждым пиком на графике в питоне - PullRequest
0 голосов
/ 06 сентября 2018

Я пытаюсь вычислить площадь под каждым пиком на графике, который я нанес с набором координат x и y,

У меня нет функции для (x, y), и поэтому я не смог найти подходящий метод, чтобы сделать то же самое.

координаты

{
 [10 10]
 [11  1]
 [12  7]
 [14  4]
 [16  8]
 [17  5]]}

И y=0 для всех немаркированных значений x

The graph plotted with the (x,y) co-ordinates

Ответы [ 2 ]

0 голосов
/ 06 сентября 2018

Немного просто и правильно?

points = [[10, 10],
          [11, 1],
          [12, 7],
          [14, 4],
          [16, 8],
          [17, 5]]

areas = []
areas.append( points[0][0]/2.0 )

for i in range(0, points[-1][0] - points[0][0]-2):

    if ( points[i+1][0] == points[i][0]+1 ):
        areas.append( (points[i+1][1] + points[i][1] )/2.0)
    elif ( points[i+1][0] >= points[i][0]+2):
        areas.append( (points[i][1] )/2.0)
        areas.append( (points[i+1][1] )/2.0)

areas.append( points[-1][1]/2.0 )    

print(areas)
>[5.0, 5.5, 4.0, 3.5, 2.0, 2.0, 4.0, 6.5, 2.5]
0 голосов
/ 06 сентября 2018

Вы должны обрабатывать одну за другой для каждой трапеции.

Area_1 = ( y1 + y2 ) * 1 / 2

пример: (10 + 1 ) * 1 / 2

...