- 1、本文档共4页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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)