Вопрос:

Парабола, пригодная для данных

python least-squares

2229 просмотра

1 ответ

1 Репутация автора

Я предполагаю найти уравнение параболы, которое соответствует следующим данным, используя метод наименьших квадратов. Следующий код работает, по-видимому, это неправильное уравнение. Я использую неправильные функции, чтобы сделать это? Мой массив в (х, у) формате.

import numpy as np

points = np.array ([(0.05, 0.957), (0.12, 0.851), (0.15, 0.832), (0.30, 0.720),
(0.45, 0.583), (0.70, 0.378), (0.84, 0.295), (1.05, 0.156)])

x = points[:,0]
y = points[:,1]

a = np.polyfit(x, y, 2)
b = np.poly1d(a)
print(a)
print (b)

import matplotlib.pyplot as plt
plt.plot(x,y)
plt.plot(b)
plt.show()
Автор: user46918 Источник Размещён: 04.03.2017 04:46

Ответы (1)


1 плюс

31324 Репутация автора

Вы использовали правильную функцию для подгонки, но неправильную функцию для построения. Вы забыли оценить параболу. Попробуй plt.plot(x,b(x))вместо plt.plot(b).

Автор: DYZ Размещён: 04.03.2017 04:55
Вопросы из категории :
32x32