В строке 5 появляется ошибка, и я не понимаю, как ее исправить.Предполагается использовать интерполяцию Лагранжа для перечисленных значений и функций.
x_plot = linspace(0,1,512);
n = 4;
x = linspace(0,1,n+1) ;
y = sin(2 * pi * x) ;
Ln_1_4 = lag(x_plot,n,y,x);
y1 = sin(2 * pi * x_plot);
n = 8;
x = linspace(0,1,n+1) ;
y = sin(2 * pi * x) ;
Ln_1_8 = lag(x_plot,n,y,x);
n = 16;
x = linspace(0,1,n+1) ;
y = sin(2 * pi * x) ;
Ln_1_16 = lag(x_plot,n,y,x);
n = 4;
x = linspace(0,1,n+1) ;
y = abs(x-.05) ;
Ln_2_4 = lag(x_plot,n,y,x)
y2 = abs(x_plot - .5);
n = 8;
x = linspace(0,1,n+1) ;
y = abs(x-.05) ;
Ln_2_8 = lag(x_plot,n,y,x);
n = 16;
x = linspace(0,1,n+1) ;
y = abs(x-.05) ;
Ln_2_16 = lag(x_plot,n,y,x);
plot(x_plot,y1,x_plot,Ln_1_4,'r--',x_plot,Ln_1_8,'g:');
function Ln = lag(x_plot,n,y,x)
Ln = 0;
for j = 1:n
Ln_k = 1;
for i = 1:n
if i!=j
Ln_k = (x_plot-x(i))/(x(j)-x(i)).*Ln_k
end
Ln = Ln + y(j)*Ln_k
end