Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лабы / Лабы 2002 / лаб2 отчет

.doc
Скачиваний:
31
Добавлен:
17.04.2013
Размер:
61.95 Кб
Скачать

Лабораторная работа №2

Функция ,реализующая подсчет при помощи полинома Лежандра:

Значение в точке t по значениям функции в узлах (x,f)

t - число, x, f - вектора одинаковой размерности

function p=lagr(t,x,f)

p=0;

for i=1:length(x)

W=t-x;

W(i)=1;

U=prod(W);

W=x(i)-x;

W(i)=1;

U=U/prod(W);

p=p+f(i)*U;

end

Результаты подсчета значения в точке 1.7

>> x = [-2:1:2]

x =

-2 -1 0 1 2

>> f=sin(x)

f =

-0.9093 -0.8415 0 0.8415 0.9093

>> lagr(1.7,x,f)

ans =

1.0162

>> sin(1.7)

ans =

0.9917

Использавали полином 4 порядка.

Ошибка интерполяции:

>> 1.0612 - 0.9917

ans =

0.0695

>>

Теоретическая оценка дает значение 0.0049

Пункт 3.

Текст программы для подсчета массива значений :

function [z] = lag (t,x,f)

for i=1:length(t)

z(i)= lagr(t(i),x,f);

end

Были получены два графика :по полиному Лежандра и по значениям ф-ии sin.Значения t выбирались в пределах от –2 до 2 с шагом 0.1.Полином получен по точкам от –2 до 2 с шагом 1.

Были получены два графика :по полиному Лежандра и по значениям ф-ии sin.Значения t выбирались в пределах от –2 до 2 с шагом 0.1.Полином получен по точкам x= -2, -1.1756, 0, 1.1756, 2.Ниже приведен график ошибки интерполяции:

Соседние файлы в папке Лабы 2002