Как найти наклон полиномиального уравнения? - PullRequest
0 голосов
/ 22 марта 2020

В настоящее время я использую этот код для нахождения полиномиального уравнения и его производной для моих данных. Я использую np.polyval, чтобы использовать производную и найти наклон каждой точки на кривой.

    result = getDist(article_name, revilimit)
    xAxis = [i for i in range(1,len(result)+1)]
    xAxis = np.array(xAxis)  
    z = np.polyfit(xAxis, result, 10)
    p = np.poly1d(z)
    print('p = ')
    print(p)
    derivative = np.polyder(p)
    print('derivative = ', end='')
    print(np.polyder(p))
    #x = np.polyval(derivative, result)
    x = [(np.polyval(derivative,i)) for i in result]

Вот кривая, которую я получил со степенью 10 для данных и Вот кривая, которую я получил со степенью 3 для данных

Проблема здесь в том, что я получаю либо все положительные наклоны (кривая степени 10), либо все отрицательные наклоны (кривая степени 3), когда подставляю значение x в производное уравнение. Вот уравнение кривой и ее производной, которую я получаю, Степень 3

Все, что я хочу, - это найти общий наклон кривой уравнения, которая соответствует моим данным.

Редактировать: Как следует из приведенного ниже комментария, я вводил значение оси Y вместо значения оси X Вместо

x = [(np.polyval(derivative,i)) for i in result]

Я должен был сделать это

x = [(np.polyval(derivative,i)) for i in xAxis]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...