Найти - Пользователи
Полная версия: полином Ньютона
Начало » Python для новичков » полином Ньютона
1
Maemi
Простите за глупый вопрос, но я в программировании совсем не разбираюсь. Нужно построить полином Ньютона для таблицы экспериментальных значений, вычислить коэффициенты. Буду благодарна за помощь.
Isem
А в математике разбираетесь?

x = [1, 3, 5, 7] # x-координаты из таблицы
y = [2, 3, 3, 2] # y-координаты из таблицы

def product( val, n ):
""" Вспомогательный генератор для вычисления произведения разностей координат """
mul = 1
for i in range(n):
if i: mul *= val - x[i-1]
yield mul
C=[] # список коэффициентов полинома

# вычисляем коэффициенты
for n in range(len(x)):
p = product( x[n], n+1 )
C.append( (y[n]-sum(C[k]*next(p) for k in range(n)) )/next(p) )

def f( v ):
""" Значение полинома в точке v """
return sum( C[k]*p for k, p in enumerate(product(v, len(C)) ) )
Maemi
Большое спасибо! В математике разбираюсь лучше, чем в программировании)
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB