ImageVerifierCode 换一换
格式:DOCX , 页数:30 ,大小:93.06KB ,
资源ID:21383700      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/21383700.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(北航数值分析大作业2Word文档格式.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

北航数值分析大作业2Word文档格式.docx

1、这个子程序是用来做两个向量啊a,b的乘积的real(kind=8) aa(:),bb(:integer n,in=size(aa)uu=0.0uu=uu+aa(i)*bb(i)end functionsubroutine uptr(ma,ma1) !这个子程序是用来对矩阵A进行拟上三角化的real(kind=8) ma(:),ma1(:integer nreal(kind=8),allocatable : u(:),p(:),q(:),w(:),wu(:),up(:),at(:real(kind=8) t,d,c0,h,heinteger i,j,rn=size(ma,1)allocate(u

2、(n),p(n),q(n),w(n),wu(n,n),up(n,n),at(n,n),c(n)do j=1,nma1(i,j)=0.0end do !ma1的零初始化do r=1,n-2he=0.0do i=r+1,nhe=he+ma(i,r)*2d=sqrt(he)if(ma(r+1,r)0) thenc0=0.0-delsec0=dend ifdo i=1,rma1(i,r)=ma(i,r)ma1(r+1,r)=c0do i=r+2,nif(he=0) thencycleh=c0*2-c0*ma(r+1,r)u(i)=0.0u(r+1)=ma(r+1,r)-c0u(i)=ma(i,r)at

3、(i,j)=ma(j,i)call au(at,u,c,n)p(i)=c(i)/hcall au(ma,u,c,n)q(i)=c(i)/ht=uu(p,u)/hw(i)=q(i)-t*u(i)ma(i,j)=ma(i,j)-w(i)*u(j)-u(i)*p(j)ma1(i,n-1)=ma(i,n-1)ma1(i,n)=ma(i,n)end subroutine uptrsubroutine two(d,s1,s2,a1,a2) !这个子程序是用来求二阶子阵的两个特征值的real(kind=8) d(:complex(kind=8) s1,s2real(kind=8) a1,a2,b1,b2n=

4、size(d,1) if(d(n-1,n-1)+d(n,n)*2-4*(d(n-1,n-1)*d(n,n)-d(n-1,n)*d(n,n-1)h=c0*2-c0*b(r,r)u(r)=b(r,r)-c0u(i)=b(i,r)bt(i,j)=b(j,i)c1t(i,j)=c1(j,i)call au(bt,u,c,m)v(i)=c(i)/hb(i,j)=b(i,j)-u(i)*v(j)call au(c1t,u,c,m)call au(c1,u,c,m)c1(i,j)=c1(i,j)-w(i)*u(j)-u(i)*p(j)ak1(i,j)=c1(i,j)end subroutine mkaksu

5、broutine qr(ma,ma1,q1,rq) !这个子程序是用来对任一方阵进行QR分解的,并且返回Q,R的值),q1(:),rq(:real(kind=8) d,c0,h,heallocate(u(n),p(n),w(n),at(n,n),c(n)ma1(i,j)=ma(i,j)q1(i,j)=0.0else q1(i,j)=1.0end if do r=1,n-1he=he+ma1(i,r)*2do i=r,nif(ma1(r,r)h=c0*2-c0*ma1(r,r)u(r)=ma1(r,r)-c0u(r)=ma1(i,r)at(i,j)=ma1(j,i)call au(q1,u,c,

6、n)w(i)=c(i)q1(i,j)=q1(i,j)-w(i)*u(j)/hma1(i,j)=ma1(i,j)-u(i)*p(j)rq(i,j)=0.0do r=1,nrq(i,j)=rq(i,j)+ma1(i,r)*q1(r,j)end subroutine qrsubroutine opposite(matrix,u0,y,bo) !这个子程序是用反幂法求出矩阵的模最小的特征值 real(kind=8) matrix(:),u0(:),y(:),bo integer n,i real(kind=8),allocatable :),us(:),x(: real(kind=8) c,nn bo

7、=100 n=size(matrix,1) allocate(u(n),us(n,n),x(n) do i=1,n u(i)=u0(i) end do do while(10) c=bo nn=sqrt(uu(u,u) y(i)=u(i)/nn call lu(matrix,us,y,x) !调用对矩阵进行LU分解的子程序 u(i)=x(i) end do bo=uu(y,u) if (abs(bo-c)/abs(bo)0.0)200 if(abs(a(m,m-1)1)then goto 200d(1,1)=a(m-1,m-1)d(1,2)=a(m-1,m)d(2,1)=a(m,m-1)d(2,2)=a(m,m)call two(d,s1,s2,a11,a2) !求二阶子阵的两个特征值if(m

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1