QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 1441|回复: 1
打印 上一主题 下一主题

求教大神编写Lagrange插值多项式题目~~~

[复制链接]
字体大小: 正常 放大

11

主题

8

听众

37

积分

升级  33.68%

  • TA的每日心情

    2013-10-18 15:45
  • 签到天数: 7 天

    [LV.3]偶尔看看II

    自我介绍
    认真
    跳转到指定楼层
    1#
    发表于 2013-10-18 16:05 |只看该作者 |倒序浏览
    |招呼Ta 关注Ta
    不会啊,怎么写,求教~~~~~~~~~~~~
    编写Lagrange插值多项式。


    要求 :


    (1)输入 节点
    X, 及节点上的函数值Y, 输入数x,


    (2) 输出 x对应的Lagrange插值多项式的值


    (3)以y=sin(x)为例, 取[-pi,
    pi], 节点为X=-pi:0.1:pi, Y=sin(X), 画出Lagrange插值多项式的图像和被插值函数的图像。

    zan
    转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信
    lvyanlong        

    93

    主题

    48

    听众

    2225

    积分

    升级  7.5%

  • TA的每日心情
    擦汗
    2019-9-9 17:09
  • 签到天数: 321 天

    [LV.8]以坛为家I

    2013挑战赛参赛者

    自我介绍
    参加数学建模

    发帖功臣 新人进步奖

    群组2013年电工杯B题讨论群

    群组数模思想方法大全

    群组学术交流A

    群组第三届数模基础实训

    群组认证人才交流群

    function f = Lagrange( x,y,x0 )
    %求已知结点的拉格朗日插值多项式
    %已知结点的坐标向量x、y
    %插值点坐标x0
    %得多项式f或在x0点的插值
    if ( length(x) == length(y) )
    n = length(x);
    else
    disp('x,y are not same degree');
    return;
    end


    syms t;
    f = 0.0;


    for i = 1:n
    l=y(i);
    for j=1:i-1
    l=l*(t-x(j))/(x(i)-x(j));
    end;
    for j=i+1:n
    l=l*(t-x(j))/(x(i)-x(j));
    end;

    f=f+l;
    simplify(f);

    if(i==n)
    if(nargin==3)
    f=subs(f,'t',x0);
    else
    f=collect(f);
    f=vpa(f,4); %系数取小数四位精度
    end
    end
    end

    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册地址

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

    关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

    手机版|Archiver| |繁體中文 手机客户端  

    蒙公网安备 15010502000194号

    Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

    GMT+8, 2025-5-10 08:19 , Processed in 0.471150 second(s), 60 queries .

    回顶部