Я пытаюсь вычислить квадрат общей ошибки.Учитывая polyval
коэффициенты моего полинома и n точек, в которых его можно оценить, я ожидал равных n выходных значений.Но если вы запустите приведенный ниже код, выходные значения будут меньше размера x , заданного в качестве ввода.Я новичок в numpy, и любая помощь будет оценена.
import numpy as np
from numpy.polynomial.polynomial import polyval
x = [ 0.1,0.4,0.5,0.7,0.7,0.9 ]
y = [ 0.61,0.92,0.99,1.52,1.47,2.03]
n = len(x)-1
x = np.array(x)
y = np.array(y)
for m in range(0,n):
coef = np.array([])
A = np.vander(x,x.size)
A = A[:,n-m-1:n]
print(A)
b = np.transpose(y)
c = np.linalg.lstsq(A,b)
for temp in range(0,c[2]):
coef = np.append(coef, c[0][temp])
print(coef)
print(x)
yy = polyval(coef,x)
print(yy)
#E = sum(((y-yy)**2))
Желаемый результат будет:
1 Итерация.
c = 1.76456 0.28616
x = 0.10000 0.400000.50000 0.70000 0.70000 0.90000
гг = 0.46262 0.99198 1.16844 1.52135 1.52135 1.87426
2 Итерация.
c = 1.729547 0.059092 0.587116
x = 0.10000 0.40000 0.500 0.700 0,000000001022 *
гг = 0,61032 0,88748 1,04905 1,47596 1,47596 2,04123
и продолжается до 6 ....