数值分析作业教程.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数值分析作业教程

数值分析实验作业 指导老师: 院 系: 姓 名: 学 号: 第二章 用matlab编写的程序如下: function t_charpt2 %数值实验二:含“实验2.1:多项式插值的震荡现象”和“实验2.2:样条插值的收敛” %输入:实验选择,函数式选择,插值结点数 %输出:拟合函数及原函数的图形 result=inputdlg({请选择实验,若选2.1,请输入1,否则输入2:},charpt2,1,{1}); Nb=str2num(char(result)); if(Nb~=1)(Nb~=2)errordlg(实验选择错误!);return;end promps={请选择实验函数,若选f(x),请输入f,若选h(x),请输入h,若选g(x),请输入g:}; titles=charpt2; result=inputdlg(promps,charpt2,1,{f}); Nb_f=char(result); if(Nb_f~=fNb_f~=hNb_f~=g)errordlg(实验函数选择错误!);return;end result=inputdlg({请输入插值结点数N:},charpt2,1,{10}); Nd=str2num(char(result)); if(Nd1)errordlg(结点输入错误!);return;end switch Nb_f case f f=inline(1./(1+25*x.^2));a=-1;b=1; case h f=inline(x./(1+x.^4));a=-5;b=5; case g f=inline(atan(x));a=-5;b=5; end if(Nb==1) x0=linspace(a,b,Nd+1);y0=feval(f,x0); x=a:0.1:b;y=Lagrange(x0,y0,x); fplot(f,[a b],co); hold on; plot(x,y,b--); xlabel(x);ylabel(y=f(x) o and y=Ln(x)--); elseif(Nb==2) x0=linspace(a,b,Nd+1);y0=feval(f,x0); x=a:0.1:b; cs=spline(x0,y0);y=ppval(cs,x); plot(x0,y0,o);hold on ;plot(x,y,k-); xlabel(x);ylabel(y=f(x) o and y=Spline(x)-); end % function y=Lagrange(x0,y0,x) n=length(x0);m=length(x); for i=1:m; z=x(i); s=0.0; for k=1:n p=1.0; for j=1:n if(j~=k) p=p*(z-x0(j))/(x0(k)-x0(j)); end end s=s+p*y0(k); end y(i)=s; end 若选择实验2.1,实验函数为f,插值结点数为6,则结果为: 若选择实验2.1,实验函数为f,插值结点数为20,则结果为: 若选择实验2.1,实验函数为f,插值结点数为27,则结果为: 选择其它的函数重复上述的实验,在这里我选择的是h函数,具体结果如下: 若选择实验2.1,实验函数为h,插值结点数为6,则结果为: 若选择实验2.1,实验函数为h,插值结点数为20,则结果为: 若选择实验2.1,实验函数为h,插值结点数为27,则结果为: 实验2.2 ①输入2,实验函数为f,插值节点数为20,则结果为: ②输入2,实验函数为h,插值节点数为20,则结果为: 分析: 1.对于n次Lagrange插值多项式Pn(x)近似逼近函数f(x)时,Pn(x)的次数并非越高,

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档