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

Лаб 4 / z1-2

.m
Скачиваний:
13
Добавлен:
24.04.2023
Размер:
2.79 Кб
Скачать
% задача 1. Провести интерполяцию функции Рунге на отрезке
% [–1, 1] по формуле Лагранжа для n = 11 при равномерном
% распределении узлов интерполяции.
% начало и конец отрезка
a=-1;
b=1;
% количество узлов
n=11;
% степень полинома
h=(b-a)/(n-1);
x=a:h:b;
% значение функции в точках х
f=1./(1+25*x.^2);
% для графика
X=a:0.01:b;
F=1./(1+25*X.^2);
nx=length(X);
% пустая матрица для решения многочлена лагранжа
L=zeros(1,nx);
% запускаем повторы для интерполяции
for i=1:n
% специальный базис
l=ones(1,nx);
for j=1:n
% проверяем условие спец базиса
if i~=j
% формируем специальный многочлен
l=l.*(X-x(j))./(x(i)-x(j));
end;
end;
% формируем многочлен
L=L+l.*f(i);
end;
% графики интерполяции
figure(1)
plot(X,L)
hold on;
% для функции рунге
plot(X,F)
hold on;
% погрешность
plot(X,L-F)

% задача 2. Провести интерполяцию функции Рунге на отрезке [–1, 1]
% по формуле Лагранжа для n = 11 для чебышевских узлов.
% матрица для интерполяции
h=(b-a)/(n-1);
x1=zeros(n,1);
% запускаем цикл на 11 повторов по всем узлам
for i1=1:n
% ищем по формуле интерполяции для чебышевких узлов
x1(i1,1)=(a+b)/2 + ((b-a)/2)*cos((2*i1+1)*pi/(2*n+2));
end
% значение функции
f1=1./(1+25*x1.^2);
% для графика
X1=a:0.01:b;
F1=1./(1+25*X1.^2);
nx1=length(X1);
% матрица для многочлена лагранжа
L1=zeros(1,nx1);
% запускаем повторы для интерполяции
for i1=1:n
% специальный базис
l1=ones(1,nx1);
for j1=1:n
% если выполняется условие специального базиса
if i1~=j1
% формируем оператор для посчета многочлена Лагранжа
l1=l1.*(X1-x1(j1))./(x1(i1)-x1(j1));
end;
end;
% формируем многочлен
L1=L1+l1.*f1(i1);
end;
% графики интерполяции
figure(2)
plot(X1,L1)
hold on;
% для функции рунге
plot(X1,F1)
hold on;
% погрешность
plot(X1,L1-F1)






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