суббота, 29 марта 2014 г.

Freemat. Полиномы

Полином, так же как и матрица, является базовым элементом Freemat. Он записывается в виде вектора 
p = [an an-1 ... a0],
что соответствует выражению
Значение в точке x может быть рассчитано функцией polyval(p,x).



Корни полинома находит roots(p). Обратную операцию, т.е. определение коэффициентов по известным корням, выполняет функция poly(r), где r - вектор корней. Если же r - матрица, будут найдены коэффициенты её характеристического полинома.
Производную полиномиальной функции можно найти с помощью polyder(p). Первообразная вычисляется посредством polyint(p,c), где c - постоянная интегрирования.
Функция polyfit(X,Y,n) ищет связь множества точек X и Y в виде полинома степени n. Подбор коэффициентов производится методом наименьших квадратов.
В рассмотренном примере функция sin(x) аппроксимируется полиномом 4 степени по 9 точкам на интервале от 0 до pi. В ходе проверки вычисляются значения найденного полинома в узловых точках, после чего рассчитывается корень из квадратов разностей реальных и приближённых значений (что численно совпадает с евклидовой нормой вектора dy). В данном примере погрешность составила величину ~ 0,001.


Комментариев нет:

Отправить комментарий