newton.m

来自「数值分析---部分算法 希望对需要的人有一点点用!」· M 代码 · 共 29 行

M
29
字号
% -------------------------------------------------------------------------
% -------------------------------牛顿插值算法-------------------------------
% 函数 NX=Newton(matrix)
% 功能: 通过插值节点得到牛顿插值多项式
% 输入参数:matrix  存有插值节点数据的矩阵,3行n列,n即为插值节点的个数
%                  其第一行为插值点Xi,第二行为函数在x=Xi时的值f(Xi)
%                  第三行函数一阶倒数值(此函数用不到)
% 输出参数:  NX   牛顿插值多项式,关于x的多项式表达式
% -------------------------------------------------------------------------
function NX=Newton(matrix)
syms x NX temp
[m,n]=size(matrix);
Ntxishu=matrix.';
Ntxishu(:,3)=0;
for j=3:n+1
    k=1;
    for i=j-1:n
        Ntxishu(i,j)=(Ntxishu(i,j-1)-Ntxishu(i-1,j-1))/(Ntxishu(i,1)-Ntxishu(k,1));
        k=k+1;
    end
    
end
temp=1;
NX=Ntxishu(1,2);
for i=2:n
temp=temp*(x-Ntxishu(i-1,1));
NX=NX+Ntxishu(i,i+1)*temp;
end
NX=simple(NX);

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?