Реализации алгоритмов/Интерполяция/Многочлен Лагранжа: различия между версиями
Содержимое удалено Содержимое добавлено
Oleg4280 (обсуждение | вклад) оформление |
Нет описания правки |
||
Строка 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>
|