三次样条函数.doc

三次样条函数.doc

ID:57632040

大小:88.50 KB

页数:7页

时间:2020-08-29

三次样条函数.doc_第1页
三次样条函数.doc_第2页
三次样条函数.doc_第3页
三次样条函数.doc_第4页
三次样条函数.doc_第5页
资源描述:

《三次样条函数.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、《数值分析》实验报告:实验二实验名称:三次样条函数的实现实验地点:八教所使用的工具软件及环境:Matlab一、实验目的:1.利用Matlab实现三次样条函数;2.利用Matlab绘制函数图像;二、实验内容:1.根据所给定的节点值和节点上的函数值,取边界条件为“自然边界条件”,编制构造三次样条函数的Matlab程序;2.给定函数f(x)=1/(1+x^2),取插值节点为-5:1:5,利用编制的Matlab程序求出三次样条函数,并绘制出准确函数f(x)以及所求出的三次样条函数图像,进行比较。3.自己设定一个函数,

2、分别构造并绘制出该函数的Lagrange插值多项式和三次样条的函数图像,进行分析和比较。三、操作步骤:Matlab程序如下:一、构造三次样条函数的程序:1、a)用2个参数(针对自然边界)function[Sn]=SF_Hermite(X,Y)m=length(X);n=m-1;A=zeros(m,m);H=zeros(1,n);u=zeros(1,n);G=zeros(1,n);l=zeros(1,n);u(1)=1;A(1,1)=2;A(1,2)=u(1);fork=1:nhk=X(k+1)-X(k);H(

3、k+1)=hk;endH=H(2:n+1);fork=1:n-1uk=H(k)/(H(k)+H(k+1));u(k+1)=uk;lk=1-u(k+1);l(k)=lk;gk=3*((l(k).*(Y(k+1)-Y(k))./H(k))+(u(k+1).*(Y(k+2)-Y(k+1))./H(k+1)));G(k+1)=gk;endG(m)=3*(Y(m)-Y(m-1))/H(m-1);l(n)=1;fori=2:(m-1)A(i,i)=2;A(m,m)=2;A(i+1,i)=l(i);A(i,i+1)=u(i

4、);endmY=AG';symsxm=length(X);Sn=zeros(m-1,4);fori=1:m-1s1=[1,-X(i+1)];s1=conv(s1,s1);a=[2,H(i)-2*X(i)];s1=conv(s1,a);s2=[1,-X(i)];s2=conv(s2,s2);b=[-2,H(i)+2*X(i+1)];s2=conv(s2,b);s3=[1,-X(i+1)];s3=conv(s3,s3);c=[1,-X(i)];s3=conv(s3,c);s4=[1,-X(i)];s4=conv

5、(s4,s4);d=[1,-X(i+1)];s4=conv(s4,d);Sn(i,:)=Y(i)*s1/(H(i)^3)+Y(i+1)*s2/(H(i)^3)+mY(i)*s3/(H(i)^2)+mY(i+1)*s4/(H(i)^2);endb)用5个参数(针对两端一阶、二阶导数值已知情况):function[Sn]=SF_Hermite(X,Y,f0,fn,flag)iflength(X)~=length(Y)error('变量不匹配');endm=length(X);n=m-1;A=zeros(m,m);

6、H=zeros(1,n);u=zeros(1,n);l=zeros(1,n);fork=1:nH(k)=X(k+1)-X(k);endfork=1:m-2u(k)=H(k+1)/(H(k+1)+H(k));l(k)=1-u(k);endfori=2:m-1A(i,i-1)=l(i);A(i,i)=2A(i,i+1)=u(i);endmY=zeros(m,1);g=mY;ifflag==1A(1,1)=1;A(m,m)=1;fork=1:mifk==1g(1)=f0;elseifk==mg(m)=fn;else

7、g(k)=3*((u(k-1).*(Y(k)-Y(k-1))./H(k-1))+l(k-1).*(Y(k+1)-Y(k))./H(k));endendendifflag==2A(1,1)=2;A(m,m)=2;A(1,2)=1;A(m,m-1)=1;fork=1:mifk==1g(1)=3*(Y(2)-Y(1))/(X(2)-X(1))-H(1)/2*f0;elseifk==mg(m)=3*(Y(m)-Y(m-1))/(X(m)-X(m-1))+H(m-1)/2*fn;elseg(k)=3*((u(k-1).

8、*(Y(k)-Y(k-1))./H(k-1))+l(k-1).*(Y(k+1)-Y(k))./H(k));endendendmY=inv(A)*g;m=length(X);Sn=zeros(m-1,4);fori=1:m-1s1=[1,-X(i+1)];s1=conv(s1,s1);a=[2,H(i)-2*X(i)];s1=conv(s1,a);s2=[1,-X(i)];s2=conv(s2,s2)

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。