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

Лабы / Lab_чм / ЧМ / Lab3 / Lab3

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

ЛАБОРАТОРНАЯ РАБОТА 3. ИНТЕРПОЛЯЦИЯ ФУНКЦИЙ

В лабораторной работе для вычисления интерполяционного полинома Ньютона используется функция, определенная в файле newt.m. function z = newt(x,f,t), где x, f – векторы одинаковой длины, содержащие соответственно абсциссы и ординаты узлов интерполяции; t - вектор точек, в которых вычисляются значения полинома, а результат z - массив значений полинома в точках t.

function yhat = newt(x,y,xhat)

n = length(y); if length(x)~=n, error('x and y are not compatible'); end

% --- Construct polynomial coefficients from diagonal of div.-diff. table

c = y(:); % First column is zeroth-order difference, f[x_i] = y_i

for j=2:n

for i=n:-1:j % Work backward to keep from overwriting unused data

c(i) = (c(i)-c(i-1))/(x(i)-x(i-j+1));

end

end

% --- Nested evaluation of the polynomial

yhat = c(n);

for i=n-1:-1:1

yhat = yhat.*(xhat-x(i)) + c(i); % Array op allows vector of xhats

end

Задания

  1. Построение интерполяционного многочлена.

С помощью функции newt построить интерполяционный многочлен по заданным значениям функции yi в узлах интерполяции xi. Построить график многочлена по 100 точкам. Каков порядок многочлена? Можно ли оценить ошибку такой интерполяции?

  1. Ошибка интерполяции по равноотстоящим узлам.

Для заданной преподавателем функции f(x) и отрезка интерполяции [a,b] построить интерполяционные полиномы Ln(x) порядков n=5 и n=8 по равноотстоящим узлам:

xi = a + i(b-a)/n, i = 0,1,…,n.

Построить графики функций ошибки интерполяции Rn(x)= f(x)-Ln(x) для значений аргумента x из [a;b] с шагом h (см. help plot). Для обоих полиномов выпишите в тетрадь: для какого значения аргумента x = t получилась наибольшая ошибка и величину этой ошибки.

Найти теоретические оценки ошибок интерполяции в точке x = t.

  1. Ошибка интерполяции по оптимальным узлам.

Аналогично пункту 2 для n=5 и n=8 построить графики ошибок интерполяции и найти наибольшую ошибку, но интерполяционный полином строить по нулям многочлена Чебышева:

, i = 0,1,…,n (n - порядок интерполяционного полинома).

Сравнить значения наибольших ошибок со значениями, полученными в пункте 2.

Варианты

i

0

1

2

3

xi

0

2

3

5

yi

1

3

2

5

  1. f(x) = sin(x), a = 0, b = 2, h = /10.

  2. f(x) = sqrt(x), a = 100, b = 400, h = 5.

  3. f(x) = exp(2x), a = -1, b =1, h = 0.1.

  4. f(x) = cos(x), a = 0, b = 2, h = /20.

  5. f(x) = log(x), a = 1, b = 3, h = 0.1.

Соседние файлы в папке Lab3