Всего на сайте:
303 тыс. 117 статей

Главная | Математика

Лабораторная работа № 2 Интерполяция функции полиномами Лежандра  Просмотрен 435

 

Задача: Функцию cos(x) на интервале [-1,1] интерполировать с помощью полиномов Лежандра. Полиномы Лежандра подчиняются следующей рекуррентной зависимости:

,

Функцию будем интерполировать обобщенным полиномом: ,

где – полиномы Лежандра (нормированные, для того, чтобы набор функций соответствовал следующему правилу: ), – коэффициенты, которые необходимо определить.

Определение скалярного произведения .

Коэффициенты легко вычислить, если последовательно умножить скалярно обощенный полином на , например, на :

,

.

По свойству, определенному для , получим: .

> restart:

n:=5; – количество функций в наборе

c:=-1; – левая граница интервала

d:=1; – правая граница интервала

y(x):=cos(x); – функция для интерполяции

Создадим рекурсивную процедуру, вычисляющую полиномы Лежандра

> P:=proc(i)

if i=0 then 1

else if i=1 then x

else if i>1 then (x*(2*(i-1)+1)*P(i-1)-(i-1)*P(i-2))/(i)

fi fi fi

end proc:

Создадим набор нормированных функций

> for i from 0 to n do

f[i]:=P(i)/sqrt(int(P(i)^2,x=c..d))

od:

Найдем коэффициенты

> for i from 0 to n do

a[i]:=int(f[i]*y(x),x=c..d);

end do;

С помощью оператора цикла соберем функцию

> t(x):=0:

for i from 0 to n do

t(x):=t(x)+a[i]*f[i];

end do:

T(x)=t(x);

Построим графики функции, для сравнения:

Графики y (x)- серый и t (x) - черный
> plot([y(x),t(x)],x=c-1..d+1,color=[red,black],title="Графики y(x)-красный и t(x)-чёрный");

Отобразим функцию интерполяции в виде с действительными числами.

> evalf(%%);

Из графика очевидно, что для интерполяции функции cos(x) на интервале [-1,1] достаточно пяти членов суммы ряда.


Предыдущая статья:Лабораторная работа №1 Решение ОДУ различными методами Следующая статья:Лабораторная работа № 3 Метод наименьших квадратов
page speed (0.0127 sec, direct)