北航数值分析大作业 第二题 QR分解.docVIP

  • 14
  • 0
  • 约2.6万字
  • 约 24页
  • 2019-05-28 发布于广东
  • 举报
PAGE PAGE 1 第二题: 算法设计方案 (一),算法流程 (二),总体思路 对要求解的矩阵进行拟对角化。 拟对角化后对矩阵进行QR分解,得到Q和R;因为要求RQ,又因为,故借鉴于拟上三角化时求时的迭代算法避免矩阵与矩阵相乘求得RQ。 按照算法流程处理,将经常需要跳转到的m==1和m==0的判断及相应处理独立成函数,一旦需要跳转就调用该函数,从而避免goto带来的结构混乱。 将求解特征向量以及结束时所需要处理的数据输出封装成Stop()函数,并在函数最后调用exit(0)结束程序运行,从而每到满足结束条件就调用Stop()保证程序结构化。 对于每次m值变化,均对A矩阵进行相关的降维处理,以节省计算量。 求解特征向量的算法用解(得基础解系),求解过程中,遍历系数矩阵的每一列,统计出强制分量所在的列及对应列最大的非零行行号和自有分量对应列,然后依次对自有分量x其中一个赋值1,另一些赋值0,并解除对应得一个解,从而最终得到所有解。 (三),功能分块 程序设计中很多在不同的地方被多次被使用的小的功能代码被封装成函数,具体功能见头源文件注释。 (四),函数接口 本程序中矩阵都是利用二维向量(vector)存贮,相比于数组,可以灵活的动态改变长度。由于矩阵A需要多次重复使用,所以大多数函数里面都是按值传递的,而对于能够按照引用来传递的都是用了引用以提高执行效率。 源代码 //

文档评论(0)

1亿VIP精品文档

相关文档