MathCAD: Полином Лагранжа и исключение "повторяющихся" строк из матрицы
Интерполяция функций - популярная типовая задача, возникающая во многих расчётах. Для специальных случаев, таких как равноотстоящие по оси X узлы, существуют быстрые решения, скажем, так называемые 1-я и 2-я формулы Ньютона.
На практике узлы интерполяции (точки, в которых нам известны значения X) могут оказаться не равноотстоящими, а среди значений X могут попасться одинаковые. Приложенный пример пытается решить эти проблемы, строя по N
точкам {Xi,Yi}
интерполяционный полином (N-1)
-го порядка в форме Лагранжа.
Формула Лагранжа не предполагает, что узлы интерполяции - равноотстоящие, кроме того, она довольно удобна именно для компьютерной обработки - считать суммы и произведения компьютер умеет хорошо :) Неудобство - нельзя, как в формулах Ньютона, добавить новые узлы интерполяции без пересчёта всей схемы.
Вот основная часть документа на скриншоте и сам документ для скачивания:

Полином Лагранжа в MathCAD
Скачать полином Лагранжа для произвольных узлов интерполяции в формате .XMCD (72 Кб)
В документ также добавлен график, иллюстрирующий полученное решение.
Если среди значений X могут попадаться одинаковые, их следует исключить. Тогда вместо стандартной сортировки с помощью встроенного метода csort
мы могли бы применить, например, такое решение:

Удаление строк матрицы, содержащих повторяющиеся значения в заданном столбце
Здесь в выходной матрице подпрограммы сохраняется только первая строка с уникальным значением в k
-ом столбце, остальные удаляются. Напоминаю, что в MathCAD нумерация с нуля, поэтому на скриншоте удалены "дубли" по второму столбцу исходной матрицы R
.
01.07.2013, 15:39 [42718 просмотров]