- 37
- 0
- 约9.2千字
- 约 10页
- 2018-06-06 发布于江西
- 举报
北航数值分析-实习作业(C语言详细注释).doc
《数值分析》计算实习作?业一》
北航第一题
其中矩阵A?的特征值满?足
试求
和的值
接近的特征?值
3. 的(谱范数)条件数和行?列式
要求
全部源程序?(详细注释)。变量为do?uble,精度,输出为e型?12位有效?数字
特征值和以?及的值
讨论迭代初?始向量的选?取对计算结?果的影响,并说明原因?
解答:
对于满足,所以是按模?最小的特征?值,直接运用反?幂法可求得?。
对于,一个是最大?的特征值,一个是最小?的特征值,不能确定两?者的绝对值?是否相等,因此必须首?先假设,然后运用幂?法,看能否求得?一个特征值?,如果可以求?得一个,证明A是收?,较小的特征?值就是。如果在假设?的前提下,无法运用幂?法求得按模?最大的特征?值,即此时A不?收敛,则需要将A?进行带原点?平移的幂法?,平移量可以?选取1,再重复上述?步骤即可求?得两个特征?值。
源程序(见附录A)
由于A一律?采用带状存?储,因此关于A?的函数,都是针对带?状存储的矩?阵的运算。
接近的特征?值
-1.01829?34033?1e+001 -9.58570?74250?7e+000 -9.17267?24239?3e+000
-8.65228?40079?0e+000 -8.09348?38086?8e+000 -7.65940?54076?9e+000
-7.11968?46486?9e+000 -6.61176?43394?0e+000 -6.06610?32266?0e+000
-5.58510?10526?3e+000 -5.11408?35298?1e+000 -4.57887?21768?7e+000
-4.09647?09262?6e+000 -3.55421?12157?5e+000 -3.04109?00181?3e+000
-2.53397?03111?3e+000 -2.00323?07695?6e+000 -1.50355?76112?3e+000
-9.93558?60600?8e-001 -4.87042?67388?5e-001 2.23173?62495?7e-002
5.32417?47420?7e-001 1.05289?89626?9e+000 1.58944?58818?8e+000
2.06033?04602?7e+000 2.55807?55970?7e+000 3.08024?05093?1e+000
3.61362?08676?9e+000 4.09137?85104?5e+000 4.60303?53782?8e+000
5.13292?42839?0e+000 5.59490?63480?8e+000 6.08093?38570?3e+000
6.68035?40921?1e+000 7.29387?74481?3e+000 7.71711?17142?4e+000
8.22522?00140?5e+000 8.64866?60651?9e+000 9.25420?03445?8e+000
讨论初始向?量对计算结?果的影响
如果初始迭?代向量选取?使得其在特?征值上的分?量为零,但是由于计?算中存在误?差,迭代次数充?分大后理论?上使得在特?征值上的分?量不为零于?是以为新的?初始迭代向?量仍可以得?到结果。
当增加迭代?初始向量中?非零元素的?个数时,计算出的结?果会越接近?准确值。实际上,当初始向量?中的0元素?较多时,可能=0的情况较?
附录A
#inclu?de stdio?.h /****编译环境g?cc或VS?2012均?****/
#inclu?de stdli?b.h
#inclu?de math.h
#inclu?de mallo?c.h
doubl?e mifa(doubl?e **a,int r,int s,int n,doubl?e *y); /*幂法函数*/
doubl?e fanmi?fa(doubl?e **a,int r,int s,int n,doubl?e *y); /*反幂法函数?*/
int LU(doubl?e **A,doubl?e *B,int r,int s,int n,doubl?e *x); /*LU分解法?*/
int det(doubl?e **A,int r,int s,int n,doubl?e *pdet); /**/
doubl?e **dmatr?ix(int m,int n); /*生成
原创力文档

文档评论(0)