姜姜姜姜_Z 2021-10-24 17:39 采纳率: 80%
浏览 95
已结题

在matlab中画出这个插值函数的图像并解决如下问题

二、牛顿插值法
设函数f(x)在n+1个互异点x0, x1, …, xn处的函数值分别为f(x0), f(x1), …, f(xn),称

为f(x)关于点xi, xj的一阶差商(均差)。称一阶差商f[xi, xj]和f[xj, xk]的差商

为f(x)关于点xi, xj和xk的二阶差商(均差)。
一般地,称k – 1阶差商的差商

为k阶差商。并规定f[xi] = f(xi)为f(x)关于点xi的0阶差商。

Nn(x) = f[x0] + f[x0, x1](x – x0) + f[x0, x1, x2](x – x0)(x – x1) + … + f[x0, x1, …, xn](x – x0)(x – x1) … (x – xn – 1)
为n次牛顿插值多项式。

img

  • 写回答

1条回答 默认 最新

  • joel_1993 2021-10-24 20:17
    关注

    你好同学,写好newton,一样招呼:

    function v = newton(x,y,u)
    n = numel(y);
    p = ones(size(u));
    v = y(1)*p;
    for i = 2:n
        y = diff(y)./(diff(x)*(i-1));
        p = p.*(u-x(1));
        v = v + p*y(1);
        x = x(2:end);
    end
    end
    

    主函数

    clc;clear
    x = [4,9,16,25,36,49,64,81,100];
    y = [2,3,4,5,6,7,8,9,10];
    % 第(1)题
    u = 1:1:100; 
    for i = 2:9
        subplot(2,4,i-1)
        plot(x,y,'ro'); hold on
        v = newton(x(1:i),y(1:i),u);
        plot(u,v,'b-');
        title([num2str(i-1),'阶Newton'])
    end
    % 第(2)题
    u = 10:10:200;
    vn = arrayfun(@(i)['n=',num2str(i-1)],2:9,'uniform',0);
    rn = arrayfun(@(i)['x=',num2str(u(i))],1:numel(u),'uniform',0);
    T = table('Size',[numel(u),8],'VariableTypes',repmat("double",1,8),'variablenames',vn,'rownames',rn);
    format short
    for i = 2:9
        v = newton(x(1:i),y(1:i),u);
        T{:,i-1} = v(:);
    end
    T
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 11月3日
  • 已采纳回答 10月26日
  • 创建了问题 10月24日

悬赏问题

  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么