Итак, я пытаюсь вычислить что-то очень простое, но мой код дает мне неправильные ответы. У меня есть набор данных (переменная "чи"), который является параболическим (его функция хи-квадрат). Вершина данных (наименьшее значение Чи) находится в точке у = 13,671. Я пытаюсь выяснить, где эта парабола будет пересекать y = 14.671, но пока я получаю мнимые корни, что не имеет смысла, учитывая, что линия y = 14.671 перехватывает данные в двух разных точках.
Я пробовал пакет из 'numpy.polynomial import Polynomial'. По сути, я попросил python дать мне уравнение для моей параболы, а затем сказать мне, где находятся корни, когда я вычитаю свое значение y.
fit = P.fit(betatest,chi,2)
yval = min(chi) + 1.
rts = (fit - yval).roots()
sigma = abs(beta_bg - rts[0])
sig = "%.3f" % sigma
##note: P is from 'numpy.polynomial import Polynomial', and
## betatest and chi are both 1D vectors of length 1000. Betatest is
## just a linspace. Again, the minimum for chi is 13.671, and it's a
## positive parabola (smiley face).
Я не получаю никаких сообщений об ошибках, но мои корни мнимые. Когда я запускаю код и спрашиваю rts, я получаю это:
В [24]: рц
Out [24]: массив ([0.37239476-0.15967081j, 0.37239476 + 0.15967081j])
Я прикрепил фотографию своих данных вместе с yvalue, в котором я хочу найти xvalues. введите описание изображения здесь
Я что-то не так делаю?
Спасибо!