Реализации алгоритмов/Интерполяция/Многочлен Лагранжа: различия между версиями

Содержимое удалено Содержимое добавлено
add Octave realization
Строка 160:
return result;
}
</source>
 
== Octave ==
<source lang="octave">
%Функция для которой строится многочлен.
function F = aFunc(x)
for i=1:length(x)
F(i) = 3.5*e^(x(i)/2) + 3.5*3^(-x(i)); %Заменить на свою, или вернуть табличное значение в данной точке.
end;
end;
 
%Собственно нахождение значения интерполяционного многочлена в заданной точке. x - Точка, presetX - точки в которых известно значение функции
function R = lagrang(x, presetX)
n = length(presetX);
R=0;
for i=1:n
li=1;
for j=1:n
if i ~=j
li = li*((x-presetX(j))/(presetX(i) - presetX(j)));
end
end
R=R+aFunc(presetX(i))*li;
end;
 
end;
 
</source>