1 / 15
文档名称:

数值分析实验报告.doc

格式:doc   大小:329KB   页数:15页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

数值分析实验报告.doc

上传人:sdnmy78 2020/5/24 文件大小:329 KB

下载得到文件列表

数值分析实验报告.doc

相关文档

文档介绍

文档介绍:实验报告实验项目名称函数逼近与快速傅里叶变换实验室数学实验室所属课程名称数值逼近实验类型算法设计实验日期班级学号姓名成绩实验概述:【实验目的及要求】本次实验的目的是熟练《数值分析》第三章“函数逼近与快速傅里叶变换”的相关容,掌握切比雪夫多项式、勒让德多项式、n次曲线拟合以及快速傅里叶变换。本次试验要求编写牛顿多项式插值,三次样条插值,拉格朗日插值的程序编码以及画图,并在MATLAB软件中去实现。【实验原理】《数值分析》第三章“函数逼近与快速傅里叶变换”的相关容,包括:切比雪夫多项式、勒让德多项式、n次曲线拟合以及快速傅里叶变换的相应算法和相关性质。【实验环境】(使用的软硬件)软件:MATLAB2012a硬件:电脑型号:联想Lenovo昭阳E46A笔记本电脑操作系统:Windows8专业版处理器:Intel(R)Core(TM)******@:【实验方案设计】第一步,将书上关于切比雪夫多项式、勒让德多项式、n次曲线拟合以及快速傅里叶变换的容转化成程序语言,用MATLAB实现;第二步,分别用切比雪夫多项式、勒让德多项式、n次曲线拟合以及快速傅里叶变换求解不同的问题。【实验过程】(实验步骤、记录、数据、分析)实验的主要步骤是:首先分析问题,根据分析设计MATLAB程序,利用程序算出问题答案,分析所得答案结果,再得出最后结论。实验一:编写程序实现[-1,1]上n阶切比雪夫多项式,并作画(n=0,1,…,10在一个figure中)。要求:输入Chebyshev(-1,1,n),输出如anxn+an-1xn-1+…多项式。在MATLAB的Editor中建立一个M-文件,输入程序代码,实现切比雪夫多项式的程序代码如下:functionPn=Chebyshev(n,x)symsx;ifn==0Pn=1;elseifn==1Pn=x;elsePn=expand(2*x*Chebyshev(n-1)-Chebyshev(n-2));endendx=[-1::1];A=sym2poly(Pn);yn=polyval(A,x);plot(x,yn);mandWindows中输入命令:Chebyshev(10),得出的结果为:Chebyshev(10)ans=512*x^10-1280*x^8+1120*x^6-400*x^4+50*x^2-1并得到Figure,图像如下:实验二:编写程序实现[-1,1]上n阶勒让德多项式,并作画(n=0,1,…,10在一个figure中)。要求:输入Legendre(-1,1,n),输出如anxn+an-1xn-1+…多项式。在MATLAB的Editor中建立一个M-文件,输入程序代码,实现勒让德多项式的程序代码如下:functionPn=Legendre(n,x)symsx;ifn==0Pn=1;elseifn==1Pn=x;elsePn=expand((2*n-1)*x*Legendre(n-1)-(n-1)*Legendre(n-2))/(n);endx=[-1::1];A=sym2poly(Pn);yn=polyval(A,x);plot(x,yn,'-o');mandWindows中输入命令:Legendre(10),得出的结果为:Legendre(10)ans=(46189*x^10)/256-(109395*x^8)/256+(45045*x^6)/128-(15015*x^4)/128+(3465*x^2)/256-63/256并得到Figure,图像如下:实验三:利用切比雪夫零点做拉格朗日插值,并与以前拉格朗日插值结果比较。在MATLAB的Editor中建立一个M-文件,输入程序代码,实现拉格朗日插值多项式的程序代码如下:function[C,D]=lagr1(X,Y)n=length(X);D=zeros(n,n);D(:,1)=Y';forj=2:nfork=j:nD(k,j)=(D(k,j-1)-D(k-1,j-1))/(X(k)-X(k-j+1));endendC=D(n,n);fork=(n-1):-1:1C=conv(C,poly(X(k)));m=length(C);C(m)=C(m)+D(k,k);mandWindows中输入如下命令:clear,clf,holdon;k=0:10;X=cos(((21-2*k)*pi)./22);%这是切比雪夫的零点Y=1./(1+25*X.^2);[C,D]=lagr1(X,Y);x=-1::1;y=polyval(C,x);plot(x,y,X,Y,'.');gridon;xp=-1::1;z=1./(1+25*xp.^2);plot(xp,z,'r')得到Figure,图像