matlab newton插值法,Matlab程序Newton插值函数

41528d3028836879cd698677c3999917.gifMatlab程序Newton插值函数

精品资料 欢迎下载 编写程序构造区间上的以等分结点为插值结点的Newton插值公式,假设结点数为(包括两个端点),给定相应的函数值,插值区间和等分的份数,该程序能快速计算出相应的插值公式。以,为例计算其对应的插值公式,分别取不同的值并画出原函数的图像以及插值函数的图像,观察当增大时的逼近效果. 解:Matlab计算程序为: clear clc f=( 请输入函数表达式:f(x)= , s ); %测试公式为:1/(1+25*x^2) a=( 请输入区间左端值a: ); %-1 b=( 请输入区间右端值b: ); %1 n=( 请输入区间结点数(包括两个端点)n: ); %取不同n值比较 for i=1:n x(i)=a+(b-a)/(n-1)*(i-1); y(i,1)=(subs(f, x , x(i) )); end for j=1:n-1 for k=j:n-1 temp=y(k+1,j)-y(k,j); y(k+1,j+1)=temp/(x(k+1)-x(k+1-j)); end c(j)=y(j,j); c(j+1)=y(j+1,j+1); end p=c(1); q=1; syms X for i=2:n q=q*(X-x(i-1)); p=p+c(i)*q; end p=simple(p) for i=1:301 t(i)=a+(b-a)/300*(i-1); Nn(i)=(subs(p, X , t(i) )); end for i=1:301 h(i)=a+(b-a)/300*(i-1); yy(i)=(subs(f, x , h(i) )); end plot(h,yy, r ) hold on plot(t,Nn, b ) hold on grid on legend( ÔʼÇúÏßf(x) , ²åÖµÇúÏßN(x) ) title( Å£¶Ù²åÖµ ) xlabel( x ) ylabel( f(x) ) 当n=5时,Newton插值公式为: p =(1250*X^4)/377 - (3225*X^2)/754 + 1 Matlab绘制的拟合图像为: 由上图可见,n取较小值时,拟合误差较大 当n=10时,Newton插值公式为: p = (9094987740384*X^9 + 5272349642029869237892763424*X^8 - 16938813146112*X^7 - 10950865478705002051580730624*X^6 + 10150693091136*X^5 + 7491941821973715378406714008*X^4 + 1915628554944*X^3 - 2014100801013926045821422321*X^2 + 322192441744*X + 210052147079480949741593257)/243810615467456022706126848 Matlab绘制的拟合图像为: 由上图可见,随着n的增加,曲线拟合情况变好,且曲线两端拟合情况不如中间好。 当n=15时,Newton插值公式为: p =-(886144712452400143429998262468608*X^14 - 215210091376623616*X^13 - 2567287824076382325356649416884224*X^12 + 351363414492446720*X^11 + 2856715604724742318918376846921728*X^10 - 124384721505571072*X^9 - 1557570733005289908575362785327872*X^8 + 250622679002678528*X^7 + 442823737113677610968911987842944*X^6 - 45553876737267808*X^5 - 65683899076401881002269596823496*X^4 - 9367027174733137*X^3 + 5085926865218992168091551893616*X^2 - 357025210182313*X - 236625997883333173618553311618)/236625997883333132703043158016 Matlab绘制的拟合图像为: 由图可见,随着n的增加,曲线中部的拟合情况更好,曲线在两端出现了严重的龙格现象,在(-0.5,0.5)区间内,曲线拟合情况最好 当n=20时,Newton插值公式为: p = -(63091697858638300062632225206272000*X^19 + 2374413278149671534934697712425184802508149981184*X^18 - 233036380708180230561163827474169856*X^17 - 8842814924308988434758093795575036385866874978304*X^16 + 350490414383474291117787759376072704*X^15 + 13577245591875304861693369543392784485746920259584*X^14 - 279615375477559682182077154276278272*X^13 - 11193422709788459567474162293005231928783338979328*X^12 + 135199141479468540752143239747409920*X^11 + 5418724026550657821855798963625114991858503623680*X^10 - 39800512689784644819739734827479552*X^9 - 1588341903846823612670522910137112930615063446016*X^8 + 6108762937766528070269435178249736*X^7 + 282597402119571697616731016707722670895597485248*X^6 - 375900768299031394484544770592548*X^5 - 30312533601791212134629580468196716494074564648*X^4 + 29463092871819230746035628155207*X^3 + 2000031

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值