본문 바로가기

컴퓨터/MATLAB을 이용한 알기 쉬운 수치해석

MATLAB을 이용한 알기 쉬운 수치해석) 5장 3번

%main.m

x = [0 1 2 4];
f = [2 1 0 1];
result = lagrange_interpol(x, f, 3);
disp(result);

 

%lagrange_interpol.m

function px = lagrange_interpol(x, y, new_x)
n = length(x);
sum = 0;
for i = 1:n
    temp = y(i);
    for j = 1:n
        if (i ~= j)
            temp = temp * (new_x-x(j))/(x(i)-x(j));
        end
    end
    sum = sum + temp;
end
px = sum;