% Интерполяция функции Рунге
% Введём функцию Рунге
f = inline('1./(1+25*x.^2)');
% Вычислим таблицу значений
x = linspace(-1, 1, 10);
y = f(x);
% Проинтерполируем функцию Рунге
многочленами Лагранжа
p = polyfit(x, y, 10);
xx = linspace(-1, 1, 100);
yy = polyval(p, xx);
axes('NextPlot', 'Add');
% Покажем, что глобальная
аппроксимация плохо работает для функции Рунге
plot(x, y);
plot(xx, yy, 'Color', 'r');
% С увеличением узлов сетки, ситуация только ухудщается
% Вычислим таблицу значений. 20 узлов
сетки
x = linspace(-1, 1, 20);
y = f(x);
% Проинтерполируем функцию Рунге
многочленами Лагранжа
p = polyfit(x, y, 20);
xx = linspace(-1, 1, 100);
yy = polyval(p, xx);
figure
axes('NextPlot', 'Add');
% Покажем, что глобальная
аппроксимация плохо работает для функции Рунге
plot(x, y);
plot(xx, yy, 'Color', 'r');