资源描述:
《数值计算方法实验报告.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、差值法实验日志实验题目:插值法实验目的:1.掌握拉格朗日插值、牛顿插值、分段低次插值和样条插值的方法。2.对四种插值结果进行初步分析。实验要求:(1)写出算法设计思想;(2)程序清单;(3)运行的结果;(4)所得图形;(5)四种插值的比较;(6)对运行情况所作的分析以及本次调试程序所取的经验。如果程序未通过,应分析其原因。实验主要步骤:1.已知函数满足:0.00.10.1950.30.4010.50.398940.396950.391420.381380.368120.35206(1)用分段线性插值;打开MATL
2、AB,按以下程序输入:x0=-5:5;y0=1./(1+x0.^2);x=-5:0.1:5;y=1./(1+x.^2);y1=lagr(x0,y0,x);y2=interp1(x0,y0,x);y3=spline(x0,y0,x);fork=1:11xx(k)=x(46+5*k);yy(k)=y(46+5*k);yy1(k)=y1(46+5*k);yy2(k)=y2(46+5*k);yy3(k)=y3(46+5*k);end[xx;yy;yy2;yy3]'z=0*x;plot(x,z,x,y,'k--',x,y2
3、,'r')plot(x,z,x,y,'k--',x,y1,'r')pauseplot(x,z,x,y,'k--',x,y3,'r')回车得以下图形:(1)拉格朗日插值。创建M文件,建立lagr函数:functiony=lagr1(x0,y0,x)n=length(x0);m=length(x);fori=1:mz=x(i);s=0.0;fork=1:np=1.0;forj=1:nifj~=kp=p*(z-x0(j))/(x0(k)-x0(j));endends=p*y0(k)+s;endy(i)=s;end新建一
4、个M文件,输入:x0=[0.00.10.1950.30.4010.5];y0=[0.398940.396950.391420.381380.368120.35206];x=0.0:0.01:0.5;y1=lagr1(x0,y0,x);[x',y1'];plot(x0,y0,'k+',x,y1,'r')得以下图形:矩阵的特征值和特征向量实验日志实验题目:矩阵的特征值和特征向量实验目的:1..掌握乘幂法、反幂法、雅可比方法和QR方法。2.分析、比较四中求解矩阵特征值和特征向量的方法实验要求:(1)写出算法设计思想;(
5、2)程序清单;(3)运行的结果;(4)所得图形;(5)四种插值的比较;(6)对运行情况所作的分析以及本次调试程序所取的经验。如果程序未通过,应分析其原因。实验主要步骤:1.用乘幂法求矩阵的按模最大的特征值及相应的特征向量,取,要求至少迭代6次。用MATLAB实现,程序如下:A=[4,-1,1;16,-2,-2;16,-3,-1];X=[0.5,0.5,1]';fork=1:10;Y=A*X;m=max(abs(Y));dc=abs(lambda-m);Y=(1/m)*Y;dv=norm(X-Y);err(k)=m
6、ax(dc,dv)X=Y;lambda=m;endmax_lamdba=m;V=X;plot(err);结果:err=5.5000err=5.50001.9545err=5.50001.95451.1469err=5.50001.95451.14691.2442err=5.50001.95451.14691.24421.2033err=5.50001.95451.14691.24421.20331.2091err=5.50001.95451.14691.24421.20331.20911.2066err=Colu
7、mns1through75.50001.95451.14691.24421.20331.20911.2066Column81.2069err=Columns1through75.50001.95451.14691.24421.20331.20911.2066Columns8through91.20691.2068err=Columns1through75.50001.95451.14691.24421.20331.20911.2066Columns8through101.20691.20681.2068max_l
8、amdba=3.4419V=0.54051.00001.0000图形:2.用反幂法计算矩阵相应于特征值1.2679的特征向量。用MATLAB实现,程序如下:y=[1,1,1]';z=y;d=0;A=[2,1,0;1,3,1;0,1,4];fork=1:100;AA=A-1.2679*eye(3);y=AAz;[c,i]=max(abs(y));ify(i)<0,c=-c