数值分析作业 顾磊磊第三、四章.doc

数值分析作业 顾磊磊第三、四章.doc

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
姓名:吴军 专业:化学工程(专 第三章 1、解: Matlab 程序: function [A,Y]=lagrange(x,y,x0) %检验输入参数 if nargin 2 || nargin 3 error(Incorrect Number of Inputs); end if length(x)~=length(y) error(The length of x must be equal to it of y); end m=length(x);n=m-1;L=zeros(m,m); %计算基本插值多项式的系数 for i=1:n+1 C=1; for j=1:n+1 if i~=j if abs(x(i)-x(j))eps error(there are two same nodes); end C=conv(C,poly(x(j)))/(x(i)-x(j)); end end L(i,:)=C; end %计算Lagrange插值多项式的系数 A=y*L; %计算f(x0)的近似值 if nargin==3 Y=polyval(A,x0); end A=fliplr(A); Return x = [π/8,3π/8]; y = cos(x); x0 = π/3; [A,Y] = lagrange(x,y,x0); P1 = vpa(poly2sym(A),3) Y P1 =1.19x - 0.689 Y =0.4729 x0 = π/3; [A,Y] = lagrange(x,y,x0); P2=vpa(poly2sym(A),3) Y P2 = x2 - 0.109x - 0.336 Y =0.5174 x = [0,π/8,π/4,3π/8,π/2]; y= cos(x); x0 = π/3; [A,Y]=lagrange(x,y,x0); P4=vpa(poly2sym(A),3) Y P4 =x4 + 0.00282x3 - 0.514x2 + 0.0232x + 0.0287 Y =0.5001 解: Matlab 程序 function [T,y0]=aitken(x,y,x0,T0) if nargin==3 T0=[]; end n0=size(T0,1); m=max(size(x)); n=n0+m; T=zeros(n,n+1); T(1:n0,1:n0+1)=T0; T(n0+1:n,1)=x; T(n0+1:n,2)=y; if n0==0 i0=2; else i0=n0+1; end for i=i0:n for j=3:i+1 T(i,j)=fun(T(j-2,1),T(i,1),T(j-2,j-1),T(i,j-1),x0); end end y0=T(n,n+1); return function [y]=fun(x1,x2,y1,y2,x) y=y1+(y2-y1)*(x-x1)/(x2-x1); return %选取0、1、3、4四个节点,求三次插值多项式 x=[0,1,3,4]; y=[0.5,1.25,3.5,2.75]; x0=2.8; [T,y0]=aitken(x,y,x0) T = 0 0.5000 0 0 0 1.0 1.2500 2.6000 0 0 3.0 3.5000 3.2999 3.2300 0 4.0 2.7500 2.0750 2.2850 3.4190 y0 =3.419000000000000 解: Matlab 程序 function [C,D,Y]=newpoly(x0,y0,x) %检验输入参数 if nargin 2 | nargin 3 error(Incorrect Number of Inputs); end if length(x0)~=length(y0) error(The length of x0 must be equal to it of y0); end n=length(x0);D=zeros(n,n);D(:,1)=y0; %计算差商表 for j=2:n for k=j:n if abs(x0(k)-x0(k-j+1))eps error(Divided by Zero,there are two nodes are the

文档评论(0)

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

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

1亿VIP精品文档

相关文档