%拉格朗日插值多项式 利用矩阵求解x=1:0.2:3;%已知数据点x坐标向量:xy=sin(x);%已知数据点x坐标向量:yx1=1.1:0.2:3.1;%插值点的x坐标:x1L=zeros(11,11);%另L矩阵为0 for i=1:11A=ones(10,1);%另A矩阵为10行1列的矩阵x2=x;x2(i)=[];x2';%10行一列 B=ones(1,11);%另B矩阵为1行11列的矩阵A*x1;%10行11列(x2')*B;%10行11列A*x1-(x2')*B;%11行11列ones(10,11);x(i);%提取x的第i个元素ones(10,11)*x(i);%10行11列的矩阵prod(A*x1-(x2')*B);%基函数的分子ones(10,11)*(x(i))-(x2')*B;%基函数的分母C=prod(A*x1-(x2')*B)./prod(ones(10,11)*(x(i))-(x2')*B);%对x2进行转置%C矩阵是一个1行11列的矩阵L(i,:)=C; %将A的第一行元素全部变为10 %将得到的矩阵赋值基函数的1,2,3。。。。11行endL;%11行11列y;%1行11列y1=y*L
结果如下:
y1 =1 至 7 列0.8912 0.9636 0.9975 0.9917 0.9463 0.8632 0.74578 至 11 列0.5985 0.4274 0.2392 0.0416