Модуль Numpy / Chebyshev: получить значение - PullRequest
0 голосов
/ 20 ноября 2018

Я построил полином Чебышева на основе заданных значений.

x = [1000,1001,1002,1003,1004,1005,1006,1007,1008]
y = [121.093,121.092,121.091,121.090,121.090,121.089,121.084,121.079,121.081]
from numpy.polynomial import Chebyshev as T
p = T.fit(x, y, 2)
xx, yy = p.linspace(n=10)
plt.plot(xx, yy)
plt.plot(x, y)

enter image description here

Теперь мне нужно получить значение Y для полинома Чебышева для заданного значения X.

np.polynomial.chebyshev.chebval(1, p.coef)

121,0791090909091

Но первое «Y» в моих данных - « 121.093 ». Хорошо, давайте попробуем "1000":

np.polynomial.chebyshev.chebval(1000, p.coef)

-2898,698090887721

ВОПРОС

Как получить значение "Y", когда "X" = 1000? Я ожидаю получить " 121.093 ".

1 Ответ

0 голосов
/ 20 ноября 2018

Вы пропускаете окно с ключевым словом при звонке в Chebyshev.fit ().Посмотрите на фрагмент ниже.

import numpy.polynomial.chebyshev as cheb
x = [1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008]
y = [121.093, 121.092, 121.091, 121.090, 121.090, 121.089, 121.084, 121.079,
     121.081]
p = cheb.Chebyshev.fit(x, y, 2, window=[1000, 1008])
print(cheb.chebval(1000, p.coef))
# 121.09270909090891
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...