数值分析实验报告Word文档格式.docx
- 文档编号:19160489
- 上传时间:2023-01-04
- 格式:DOCX
- 页数:10
- 大小:161.88KB
数值分析实验报告Word文档格式.docx
《数值分析实验报告Word文档格式.docx》由会员分享,可在线阅读,更多相关《数值分析实验报告Word文档格式.docx(10页珍藏版)》请在冰豆网上搜索。
Windows8专业版
处理器:
Intel(R)Core(TM)i3CPUM350@2.27GHz2.27GHz
实验内容:
【实验方案设计】
第一步,将书上关于切比雪夫多项式、勒让德多项式、n次曲线拟合以及快速傅里叶变换的内容转化成程序语言,用MATLAB实现;
第二步,分别用切比雪夫多项式、勒让德多项式、n次曲线拟合以及快速傅里叶变换求解不同的问题。
【实验过程】
(实验步骤、记录、数据、分析)
实验的主要步骤是:
首先分析问题,根据分析设计MATLAB程序,利用程
序算出问题答案,分析所得答案结果,再得出最后结论。
实验一:
编写程序实现[-1,1]上n阶切比雪夫多项式,并作画(n=0,1,…,10在一个figure中)。
要求:
输入Chebyshev(-1,1,n),输出如anxn+a甘xn-1+…多项式。
在MATLAB的Editor中建立一个M-文件,输入程序代码,实现切比雪夫多项式的程序代
码如下:
functionPn=Chebyshev(n,x)
symsx;
ifn==0
Pn=1;
elseifn==1
Pn=x;
elsePn=expand(2*x*Chebyshev(n-1)-Chebyshev(n-2));
end
x=[-1:
0.01:
1];
A=sym2poly(Pn);
yn=polyval(A,x);
plot(x,yn);
holdon
在commandWindows中输入命令:
Chebyshev(10),得出的结果为:
Chebyshev(10)
ans=
512*xA10-1280*xA8+1120*xA6-400*xA4+50*xA2-1
并得到Figure,图像如下:
实验二:
编写程序实现[-1,1]上n阶勒让德多项式,并作画(n=0,1,…,
10在一个figure中)。
输入Legendre(-1,1,n),输出如anxn+an-ixn-1+…多项式。
在MATLAB的Editor中建立一个M-文件,输入程序代码,实现勒让德多项式的程序
代码如下:
functionPn=Legendre(n,x)
else
Pn=expand((2*n-1)*x*Legendre(n-1)-(n-1)*Legendre(n-2))/(n);
0.1:
plot(x,yn,'
-o'
);
Legendre(10),得出的结果为:
Legendre(10)
(46189*xM0)/256-(109395*xA8)/256+(45045*xW)/128
(15015*xA4)/128+(3465*xA2)/256-63/256
实验三:
利用切比雪夫零点做拉格朗日插值,并与以前拉格朗日插值结果比较。
在MATLAB的Editor中建立一个M-文件,输入程序代码,实现拉格朗日插值多项式的程序代码如下:
function[C,D]=lagr1(X,Y)
n=length(X);
D=zeros(n,n);
D(:
1)=Y'
;
forj=2:
n
fork=j:
D(k,j)=(D(k,j-1)-D(k-1,j-1))/(X(k)-X(k-j+1));
C=D(n,n);
fork=(n-1):
-1:
1
C=conv(C,poly(X(k)));
m=length(C);
C(m)=C(m)+D(k,k);
在commandWindows中输入如下命令:
clear,clf,holdon;
k=0:
10;
X=cos(((21-2*k)*pi)./22);
%这是切比雪夫的零点
Y=1./(1+25*X.A2);
[C,D]=lagr1(X,Y);
x=-1:
1;
y=polyval(C,x);
plot(x,y,X,Y,'
.'
);
gridon;
xp=-1:
z=1./(1+25*xp.A2);
plot(xp,z,'
r'
)
得到Figure,图像如下所示:
比较后发现,使用切比雪夫零点做拉格朗日插值不会发生龙格现象。
实验四:
对于给定函数f(x)——2在区间[-1,1]上取Xi0.2i(i=0,1,,10),
1+25x
试求3次曲线拟合,试画出拟合曲线并打印出方程,与第2章计算实习题2的
结果比较
在MATLAB的Editor中输入程序代码,实现3次曲线拟合的程序代码如下:
0.2:
y=1./(1+25*x.A2);
p=polyfit(x,y,3);
yp=polyval(p,x);
plot(x,y,'
o-'
x,yp,'
*-'
fp=poly2sym(p)
commandWindows中输出:
fp=
(8299760523663595*x)/649037107316853453566312041152512-
(3305*xA2)/5746-
(572862092712169*xA3)/81129638414606681695789005144064+
4360609662300613/9007199254740992
第2章计算实习题2的结果如下:
牛顿插值多项式:
_05IIIIII
”108-06-04-0.200.204060.81
三次样条多项式:
比较下来可知:
三次样条的拟合效果最好,其次是牛顿插值多项式,最次是3次曲线
拟合。
实验五:
由实验给出数据表
x
0.0
0.1
0.2
0.3
0.5
0.8
1.0
y
0.41
0.50
0.61
0.91
2.02
2.46
试求3次、4次多项式的曲线拟合,再根据数据曲线形状,求一个另外函数的拟合
曲线,用图示数据曲线以及相应的三种拟合曲线。
在MATLAB的Editor中建立一个M-文件,输入程序代码,实现3次曲线拟合的程序代码如下:
x=[00.10.20.30.50.81];
y=[10.410.50.610.912.022.46];
p仁polyfit(x,y,3)
p2=polyfit(x,y,4)
y1=polyval(p1,x);
y2=polyval(p2,x);
g-'
x,y1,'
r-'
x,y2,'
b-'
p3=polyfit(x,y,2)%观察图形与抛物线接近,故采用2次曲线拟合
y3=polyval(p3,x);
plot(x,y3,'
c-'
得到Figure,图像如下:
实验六:
使用快速傅里叶变换确定函数f(x)=xA2*cosx在卜n冗]上的16
次三角插值多项式。
%三角插值多项式程序
function[an,bn,f]=fseries(fx,x,n,a,b)
ifnargin==3
a=-pi;
b=pi;
l=(b-a)/2;
ifa+b
fx=subs(fx,x,x+l+a);
an=int(fx,x,-l,l)/l;
bn=[];
f=an/2;
forii=1:
n
ann=int(fx*cos(ii*pi*x/l),x,-l,l)/l;
bnn=int(fx*sin(ii*pi*x/l),x,-l,l)/l;
an=[an,ann];
bn=[bn,bnn];
f=f+ann*cos(ii*pi*x/l)+bnn*sin(ii*pi*x/l);
endifa+b
f=subs(f,x,x-l-a);
>
symsx;
fx=x^2*cos(x)
[an,bn,f]=fseries(fx,x,16,-pi,pi)
得到结果如下:
an=
[-4,piA2/3+1/2,-20/9,5/8,-68/225,13/72,-148/1225,25/288,
-260/3969,41/800,-404/9801,61/1800,-580/20449,85/3528,
-788/38025,113/6272,-1028/65025]
bn=
(61*cos(11*x))/1800
-(580*cos(12*x))/20449
+(85*cos(13*x))/3528
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
(788*cos(14*x))/38025+(113*cos(15*x))/6272-(1028*cos(16*x))/65025+cos(x)*(piA2/3+1/2)-2
【结论】
(结果)
利用切比雪夫多项式零点进行高次多项式插值可避免龙格现象,可保证整个区间上收敛。
函数给定的一组可能不精确表示函数的数据时,我们通常考虑用最小二乘的曲线拟合。
数据若是呈周期性,则考虑用三角插值,用快速傅里叶进行计算。
【小结】
通过此次实验,我对切比雪夫多项式、勒让德多项式、n次曲线拟合以及快速傅里叶变换有了更进一步的了解。
切比雪夫和勒让德多项式都十分重要,尤其是切比雪夫多项式有重要应用,应该引起高度重视。
指导教师评语及成绩:
成绩:
指导教师签名:
批阅日期:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数值 分析 实验 报告