数值分析北航第一次计算实习任务(附百度云源码java版)

老规矩,先干货

百度云链接:https://pan.baidu.com/s/1FKFbekQH9eNgMxVMsgZWaA 密码:nsuw

稍加说明,这是java版的源码以及上交作业的完整文档,如果你胆子大,可以直接将其作为作业上交,后果自负。云盘文件如下

这套源码解决的问题:

对于第一问:幂法求按模最小特征值,反幂法求按模最大特征值,再利用平移变换的性质求得λ1和λ501。

原理不多说,说说程序,幂法较简单没有编程难点,注意一点:数组下标问题,数组是从0开始的哦

反幂法与幂法大多数情况相同,但是,需要求逆矩阵,对于较低阶的矩阵可以采用直接求余子式的方法求逆矩阵,但是这道题是500多阶,计算机会崩溃的。所以采用LU分解法,先将矩阵进行LU分解成上三角和下三角阵,这种矩阵求逆矩阵非常简单,N-1次迭代即可(在代码里我是直接硬写的,因为上三角下三角好求,所以代码中求逆矩阵的方法可能对于其他非带状矩阵并不适用!带状矩阵进行LU分解)求得L逆和U逆,再进行矩阵乘法即可获得逆矩阵。

对于第二问:也是平移变换,较第一问没有新内容,只是计算量的问题。

对于第三问:谱范数公式cond(A)2 = |λm|/|λs|;按模最大特征值比最小特征值,前面都已经求出来了。

而因此题为带状矩阵,可进行LU分解,L为单位下三角矩阵,U为上三角矩阵,detL=1,则有:detA = det(LU) = detU由于U为上三角矩阵,所以直接计算矩阵U对角线的乘积即可。所以第三问难在如何求,计算量很小。

结果如下:

再次强调,开源的东西后果自负

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值