《应用计算方法教程》matlab作业二_第1页
《应用计算方法教程》matlab作业二_第2页
《应用计算方法教程》matlab作业二_第3页
《应用计算方法教程》matlab作业二_第4页
《应用计算方法教程》matlab作业二_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、作业六6-1 试验目的 计算特征值,实现算法试验内容:随机产生一个10阶整数矩阵,各数均在-5和5之间。(1) 用MATLAB函数“eig”求矩阵全部特征值。(2) 用幂法求A的主特征值及对应的特征向量。(3) 用基本QR算法求全部特征值(可用MATLAB函数“qr”实现矩阵的QR分解)。原理幂法:设矩阵A的特征值为并设A有完全的特征向量系(它们线性无关),则对任意一个非零向量所构造的向量序列有,其中表示向量的第j个分量。为避免逐次迭代向量不为零的分量变得很大( 时)或很小( 时),将每一步的按其模最大的元素进行归一化。具体过程如下:选择初始向量,令,当充分大时。QR法求全部特征值: 由于此题

2、的矩阵是10阶的,上述算法计算时间过长,考虑采用改进算法移位加速。迭代格式如下: 计算右下角的二阶矩阵的特征值,当为实数时,选为中最接近的。程序A=-5+round(10*rand(10);V,D=eig(A)lamda u=lab6_2_power(A,1;1;1;1;1;1;1;1;1;1,10(-5),1000)d=lab6_3_qr2(A,10(-5)function lamda u=lab6_2_power(a,v,eps,N)lamda=0;err=1;k=1;while(keps) u=a*v; m j=max(abs(u); dc=abs(lamda-m); u=u/m; dv

3、=norm(u-v); err=max(dc,dv); v=u; lamda=m; k=k+1;endfunction D=lab6_3_qr2(A,eps)n,n=size(A);m=n;D=zeros(n,1);B=A;while(m1) while(abs(B(m,m-1)=eps*(abs(B(m-1,m-1)+abs(B(m,m) S=eig(B(m-1:m,m-1:m); j,k=min(abs(B(m,m)-S(1),abs(B(m,m)-S(2); Q,U=qr(B-S(k)*eye(m); B=U*Q+S(k)*eye(m); end A(1:m,1:m)=B; m=m-1;

4、 B=A(1:m,1:m);endD=diag(A);界面(1)(2)(3)作业七7-1 试验目的:熟悉代数插值试验内容:已知在f(x)在7个点的函数值如下表所示,分别使用拉格朗日插值法和牛顿插值法求f(0.596)与f(0.906)的近似值。0.40.50.60.70.80.91.011.751.962.192.442.713.00原理拉格朗日插值多项式: 牛顿插值多项式: 其中。程序function y1=lab7_1_Lagrange(x,y,x1)y1=0;m n=size(x);n=n-1;for k=1:n+1 t=1; for i=1:n+1 if(i=k) t=t*(x1-x(

5、i)/(x(k)-x(i); end end y1=y1+t*y(k);endfunction y1=lab7_2_Newton(x,y,x1)m n=size(x);n=n-1;for j=1:n for i=n+1:-1:j+1 y(i)=(y(i)-y(i-1)/(x(i)-x(i-j); endendy1=y(n+1);for j=n:-1:1 y1=y(j)+(x1-x(j)*y1;end界面作业八8-1 试验目的:熟悉最小二乘法拟合多项式试验内容:给定数据点(,),X0.400.550.650.800.901.05f(x)0.410750.578150.696750.888111.

6、026521.25386用3次最小二乘多项式拟合数据,并求平方误差。原理要作三次最小二乘拟合,令,计算法方程,其中,。其平方误差为。 程序x=0.4 0.55 0.65 0.80 0.90 1.05;f=0.41075 0.57815 0.69675 0.88811 1.02652 1.25386;G=zeros(4,4);for j=1:4 for k=1:4 for i=1:6 G(j,k)=G(j,k)+x(i)(j+k-2); end endendd=zeros(4,1);for k=1:4 for i=1:6 d(k,1)=d(k,1)+f(i)*x(i)(k-1); endenda

7、=Gds=0;for i=1:6 s=s+(f(i)-(a(1)+a(2)*x(i)+a(3)*x(i)2+a(4)*x(i)3)2;ends界面作业九9-1 试验目的:熟悉数值积分公式,掌握数值计算定积分的方法试验内容:采用不同方法数值计算积分 编写复合梯形公式和复合Simpson公式通用子程序,分别采用4,8,16,32,64等分区间计算。原理复合梯形公式:将区间a,b作n等分,结点,复合Simpson公式:将区间a,b作2n等分,记, 程序function y=lab9_f(x)y=(log(1+x)/x;function y=lab9_1_fTrapezoid(a,b,eps,n)f0

8、=0;h=(b-a)/n;for i=0:n-1 f0=f0+lab9_f(a+i*(b-a)/n)+lab9_f(a+(i+1)*(b-a)/n);endy=f0*h/2;function y=lab9_2_fSimpson(a,b,eps,n)f0=0;h=(b-a)/n;k=n/2;for i=0:k-1 f0=f0+lab9_f(a+2*i*(b-a)/n)+4*lab9_f(a+(2*i+1)*(b-a)/n)+lab9_f(a+(2*i+2)*(b-a)/n);endy=f0*h/3;界面作业十10-1 试验目的:学会用Euler法、改进Euler法、经典的4阶Runge-Kutt

9、a法求解常微分方程初值问题。试验内容:分别用1) Euler法(步长h=0.025)2) 改进Euler法(步长h=0.05)3) 4阶Runge-Kutta(步长h=0.1)求解下面的初值问题: 比较公共节点解的误差。精确解为。原理Euler法:令,()。改进Euler法(梯形公式): 4阶Runge-Kutta:程序y0=-2;h=0.025;n=2/h;y(1)=y0-h*(y0+1)*(y0+3);for i=2:n y(i)=y(i-1)-h*(y(i-1)+1)*(y(i-1)+3);endyfor j=1:n y1(j)=-3+2/(1+exp(-4*j/n);endy1x=0.

10、025:0.025:2;plot(x,y1,r,x,y,b)y0=-2;h=0.05;n=2/h;k1=-(y0+1)*(y0+3);k2=-(y0+h*k1+1)*(y0+h*k1+3);y21(1)=y0+h/2*(k1+k2);for i=2:n k1=-(y21(i-1)+1)*(y21(i-1)+3); k2=-(y21(i-1)+h*k1+1)*(y21(i-1)+h*k1+3); y21(i)=y21(i-1)+h/2*(k1+k2);endy21for j=1:n y22(j)=-3+2/(1+exp(-4*j/n);endy22x=0.05:0.05:2;plot(x,y21,r,x,y22,b)y0=-2;h=0.1;n=2/h;k1=-h*(y0+1)*(y0+3);k2=-h*(y0+k1/2+1)*(y0+k1/2+3);k3=-h*(y0+k2/2+1)*(y0+k2/2+3);k4=-h*(y0+k3+1)*(y0+k3+3);y31(1)=y0+(k1+2*k2+2*k3+k4)/6;for i=2:n k1=-h*(y31(i-1)+1)*(y31(i-1)+3); k2=-h*(y31(i-1)+k1/2+1)*(y31(i-1)+k1/2+3); k3=-h*(y31(i-1)+k2/2+1)*(y31(i

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论