实验一 插值方法实验

实验一 插值方法实验

ID:5656320

大小:205.00 KB

页数:10页

时间:2017-12-21

实验一 插值方法实验_第1页
实验一 插值方法实验_第2页
实验一 插值方法实验_第3页
实验一 插值方法实验_第4页
实验一 插值方法实验_第5页
资源描述:

《实验一 插值方法实验》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、《计算方法》实验报告学院:信息学院专业:计算机科学与技术指导教师:班级学号:姓名:计算机科学与工程系实验一插值方法一.实验目的(1)熟悉数值插值方法的基本思想,解决某些实际插值问题,加深对数值插值方法的理解。(2)熟悉Matlab编程环境,利用Matlab实现具体的插值算法,并进行可视化显示。二.实验要求用Matlab软件实现Lagrange插值、分段线性插值、三次Hermite插值、Aitken逐步插值算法,并用实例在计算机上计算和作图。三.实验内容1.实验题目i0123x0.460470.480.49y0.48

2、465550.49374520.50274980.5116683(1)已知概率积分的数据表构造适合该数据表的一次、二次和三次Lagrange插值公式,输出公式及其图形,并计算x=0.472时的积分值。(2)将区间[-5,5]分为10等份,求作的分段线性插值函数,输出函数表达式及其图形,并计算x=3.3152时的函数值。(3)仿照附录C中“文件1.2逐步插值”程序(Neville算法,课本227页)编写相应的Aitken逐步插值算法的程序,根据下表所给数据分别利用上述两种算法求正弦积分在x=0.462的值,并比较它们

3、的结果。x0.30.40.50.60.7y0.298500.396460.493110.588130.68122(4)运行C中“文件1.3分段三次Hermite插值”程序(课本228页),要求自行选择实验数据2.设计思想(1)Lagrange插值:Lagrange具有累加的嵌套结构,容易编制其计算程序。事实上,在逻辑上表现为二重循环,内循环(j循环)累乘求得系数,然后再通过外循环(i循环)累加得出插值结果y。(2)分段线性插值:分段插值是将被插值函数逐步多项式化。分段插值的处理过程分两步,将区间分成几个子段,并在每

4、个子段上构造插值多项式装配在一起,作为整个区间的插值函数。在分化的每个节点给出数据,连接相邻节点得一折线,该折线函数可以视作插值问题的解。(3)Neville插值:Neville插值的基本思想和Aitken插值一样,不同的是Neville插值每次选取的两个插值节点都是上一步相邻节点插值后得到的,而不是新的插值节点,这样得到的插值函数和原函数更加接近。Atiken逐步插值:Aitken插值是对三步插值转化为两步插值的重复,先将前两个插值点插值生成新的数据,然后与第三个插值点进行新的两点插值,不断重复这个插值过程,每一

5、步增加一个新的节点,直到遍历所有节点为止,最终获得与原函数更加接近的插值函数。(4)Hermite插值:Hermite插值是Lagrange插值的综合与推广,,为了保证插值函数能更好地密合原来的函数,要求“过点”,即两者在节点上有相同的函数值,而且要求“相切”,即在节点上还具有相同的导数值。3.对应程序(1)Lagrange插值function[y0,N]=Lagrange_eval(X,Y,x0)%X,Y是已知的差值点坐标点%x0是插值点%y0是Lagrange多项式在x0处的值%N是Lagrange插值函数的权

6、系数m=length(X);N=zeros(m,1);y0=0;fori=1:mN(i)=1;forj=1:mifj~=iN(i)=N(i)*(x0-X(j))/(X(i)-X(j));endendy0=y0+Y(i)*N(i);end(2)分段插值symsfx;f=1/(1+x^2);N=input('请输入插值节点数N=');X=-5:10/N:5;Y=zeros(1,length(X));fori=1:(N+1)x=X(i);Y(i)=eval(f);endM=-5:0.01:5;y=zeros(1,leng

7、th(M));n=1;fori=1:Nforx=-5:0.01:5ifx=X(i)y(n)=Y(i)*(x-X(i+1))/(X(i)-X(i+1))+Y(i+1)*(x-X(i))/(X(i+1)-X(i));n=n+1;endendendezplot(f,[-5,5])holdonx=-5:0.01:5;plot(x,y,'r');(3)Neville逐步插值functiony0=Neville_eval(X,Y,x0)%X,Y是已知的插值点的坐标%x0是插值点%y0是多项式在x0处的值m

8、=length(X);P=zeros(m,1);P1=zeros(m,1);P=Y;fori=1:mP1=P;k=1;forj=i+1:mk=k+1;P(j)=P1(j-1)+(P1(j)-P1(j-1))*(x0-X(k-1))/(X(j)-X(k-1));endifabs(P(m)-P(m-1))<10^-6;y0=P(m);return;endendy

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

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

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