Реализации алгоритмов/Интерполяция/Многочлен Лагранжа: различия между версиями

Содержимое удалено Содержимое добавлено
оформление
Нет описания правки
Строка 205:
 
expand(z);
</source>
 
== Ruby ==
<source lang="ruby">
def lagrange(x, x_, y_)
x_.size.times.map do |i|
x_.reduce(1.0) do |res, x_j|
x_[i] == x_j ? res : res * (x - x_j) / (x_[i] - x_j)
end * y_[i]
end.reduce(&:+)
end
 
puts lagrange(5­, [-1, 0, 1], [1, 0, 1])
</source>