- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
數值分析_计算实习题目一
《数值分析B》
计算实习题目第一题
一.算法设计方案:
1 .首先矩阵,由于所给的矩阵是501*501的大型矩阵,2.由于λ1?λ2?…?λ501,所以在以所有特征值建立的数轴上,λ1、λ501位于数轴的两端,两者之一必为按模最大。利用幂法,可以求出来按模最大的特征值,但该值可能为λ1也可能为λ501
3.上步求出按模最大的特征值λ后,将原矩阵平移λ,再利用幂法求一次平移后矩阵的按模最大的特征值,即是数轴上另一端点值λ′。比较λ与λ+λ′的大小,大的为矩阵A的最大特征值,小的为A矩阵的最小的特征值
4.利用反幂法,求矩阵A的按模最小的特征值。但是反幂法中要用到线性方程组的求解,而原矩阵A又是带状矩阵,采用LU分解。λs。
5.先利用循环求出k从1到39变化的uk的值。在每次循环时都将的第三行减去相应的,然后调用LU分解的子程序,利用反幂法求出与uk最接近的特征值,该特征值等于利用反幂法求出的值与uk的和。
.A的谱范数条件数等于按模最大的特征值的绝对值与按模最小的特征值的绝对值之比,按模最大的特征值与按模最小的特征值已分别在前面求出。
.A的行列式的值就是矩阵A进行LU分解后U的对角线元素的乘积。
二.源程序:
Private Sub Form_Load() ‘窗体加载
atten.Caption = Attention:点启动程序后,程序处于计算中,请勿再点击,请稍候~~
End Sub
Private Sub main_jisuan_Click() 主程序,负责调用其他子程序
ReDim c(1 To 5, 1 To 501) 定义c为5*501的矩阵,下标从1开始
ReDim u(1 To 501) As Double, y(-1 To 503) As Double u为最终求解数组,y为中间过渡数组
ReDim l0(1 To 501, 1 To 501) As Double, u0(1 To 501, 1 To 501) As Double, y0(1 To 501) As Double LU分解法中用到的数组
ReDim uk(0 To 39) As Double, lank(1 To 39) As Double 求平移特征值的数组
***************给C矩阵赋值,a的每一行对应C的每一列,即a(i,j)=c(i-j+3,i)****************
For j = 1 To 501
c(1, j) = -0.064
c(2, j) = 0.16
c(3, j) = (1.64 - 0.024 * j) * Sin(0.2 * j) - 0.64 * Exp(0.1 / j)
c(4, j) = 0.16
c(5, j) = -0.064
Next j
c(4, 1) = 0
c(5, 1) = 0
c(5, 2) = 0
c(1, 500) = 0
c(1, 501) = 0
c(2, 501) = 0
******************调用幂法子程序,求解两个按模最大的特征值*************
Call mifa 调用幂法子程序计算
be1 = be 第一个特征值
k1 = k0 纪录迭代步数
For j = 1 To 501 平移一个位移量,计算出来的第一个特征值be1
c(3, j) = c(3, j) - be1
Next j
Call mifa 调用幂法子程序计算
be2 = be1 + be 第二个特征值
k2 = k0 纪录迭代步数
If be2 be1 Then 比较两个特征值的大小,并赋值给首尾lan
lan501 = be2
lan1 = be1
Else
lan501 = be1
lan1 = be2
End If
*****************开始反幂法的求解按模最小的特征值**************
For j = 1 To 501 平移回一个位移量,be1
c(3, j) = c(3, j) + be1
Next j
Call fanmifa 调用反幂法计算按模最小的特征值
be3 = 1 / be 求倒数
lans = be3
k3 = k0
*******************求条件数***********************
cond = Abs(be1) / Abs(be3) 谱范数条件数等于按模最大的特征
文档评论(0)