- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
Lagrange插值M函数
symsx
x0=[0,1,2];
y0=[1,2,3];
n=length(x0);
fori=1:n
a=1;
forj=1:n
ifj~=i
a=expand(a*(x-x0(j)));
end
end
b=1;
fork=1:n
ifk~=i
b=b*(x0(i)-x0(k));
end
end
A(i)=expand(a/b);
end
L=0;
forp=1:n
L=L+y0(p)*A(p);
end
L
Language
L=x+1
三阶样条插值M函数
functionm=naspline(x,y,dy0,dyn,xx)
n=length(x)-1;
h=diff(x);lemda=h(2/n)./(h(1:n-1)+h(2:n));mu=1-lemda;
g=3*(lemda.*diff(y(1:n))./h(1:n-1)+mu.*diff(y(2:n+1))./h(2:n));
g(1)=g(1)-lemda(1)*dy0;g(n-1)=g(n-1)-mu(n-1)*dyn;
dy=nachase(lemda,2*ones(1:n-1),mu,g);
m=[dy0;dy;dyn];
ifnargin=5
s=zeros(size(xx));
fori=1:n
ifi==1,
kk=find(xx=x(2));
-1-
elseifi==n
kk=find(xxx(n));
else
kk=find(xxx(i)xx=x(i+1));
end
xbar=(xx(kk)-x(i))/h(i);
s(kk)=alpha0(xbar)*y(i)+alpha1(xbar)*y(i+1)+...
h(i)*beta0(xbar)*m(i)+h(i)*beta1(xbar)*m(i+1);
end
m=s;
end
functionx=nachase(a,b,c,d)
n=length(a);
fork=2:n
b(k)=b(k)-a(k)/b(k-1)*c(k-1);
d(k)=d(k)-a(k)/b(k-1)*d(k-1);
end
x(n)=d(n)/b(n);
fork=n-1:-1:1
x(k)=(d(k)-c(k)*x(k+1))/b(k);
end
x=x(:);
functiony=alpha0(x)
y=2*x.^3-3*x.^2+1;
functiony=alpha1(x)
y=-2*x.^3+3*x.^2;
functiony=beta0(x)
y=x.^3-2*x.^2+x;
functiony=beta1(x)
y=x.^3-x.^2;
naspline([-101],[-101],0,-1)
ans=
0
1.7500
-1.0000
naspline([-101],[-101],0,-1,-1:0.25:1)
ans=
-1.0000-0.9258-0.7188-0.402300.44920.84381.0664
-2-
1.0000
ans=
Columns1through5
-1.0000-0.9258-0.7188-0.40230
Columns6through9
0.44920.84381.06641.0000
牛顿插值多项式
functionyi=Newton(x,y,xi)
n=length(x);
m=length(y);
ifn~=m
error;
文档评论(0)