定义:
即:
clear
x = [1, 2, 3, 4]; % x坐标
y = [2, 1, 4, 3]; % y坐标
% 定义目标插值点
xi = 2.5;% x: 已知数据点的x坐标% y: 已知数据点的y坐标% xi: 插值点,可以是一个数或一个向量n = length(x);% 初始化差商矩阵F = zeros(n, n);F(:,1) = y'; % 第一列是y值% 计算差商for j = 2:nfor i = 1:n-j+1F(i,j) = (F(i+1,j-1) - F(i,j-1)) / (x(i+j-1) - x(i));endend
%F(i,j)为上三角矩阵,系数为F(1,i)。% 计算插值多项式的值P = zeros(size(xi));for k = 1:length(xi)p_val = F(1,1); % 初始化P(xi)product_term = 1;for i = 2:nproduct_term = product_term * (xi(k) - x(i-1));%w_n(x)p_val = p_val + product_term * F(1,i);%系数endP(k) = p_val; % 插值结果end
disp(['插值结果:', num2str(P)]);