数值分析上机实习报告[精品].doc
文本预览下载声明
《 数 值 分 析 》
上 机 实 习 题
指导老师:
姓 名:
学 号:
专 业: 结构工程
院 系: 土建学院
上海交通大学2006级研究生
第一题
一 程序说明:
1 Householder变换方法是:1958年由A.S. Householder提出来的,它的乘法运算次数仅是Givenr方法的一半,且只需要作次开方运算。
归纳起来,对换矩阵三对角化的算法步骤为:
令,,已知,即。
,
。
。
, 。
2 用超松驰法求解BX=b(取松驰因子w=1.4, =0, 迭代9次)。
3 用列主元素消去法求解BX=b:
na11 a12…a1n b1
a21 a22…a2n b2
………………
an1 an2…ann bn
Gauss消去法的算法为: lij=aij/ajj (ajj!=0) j=1,2…n, i=j+1,j+2…n
⑴ aij=aij-lik-1ak-1 i,j=k,k+1…n, k=2,3…n
bi=bi-lik-1bk-1 i=k,k+1…n, k=2,3…n
⑵ xi=(bi-∑aijxj)/aii i=n,n-1…1,j=i+1,i+2,…n
列主元素消去法是在Gauss消去法的基础上选主元,选取绝对值最大(或尽量大)的元素为主元,使lij绝对值很小。
二 计算程序:
1 househloder变换将A化为三对角阵B
#include stdio.h
#include math.h
main()
{
int i,j,m,r,sign;
double A0[9][9],s,z,p,n,v,h,l,y[9],u[9],k,q[9],X[9],x[9]={0,0,0,0,0,0,0,0,0},B[9][9],g[9];
double A[9][9]={{12.38412,2.115237,-1.061074,1.112336,-0.113584,0.718719,1.742382,3.067813,-2.031743},
{2.115237,19.141823,-3.125432,-1.012345,2.189736,1.563849,-0.784165,1.112348,3.123124},
{-1.061074,-3.125432,15.567914,3.123848,2.031454,1.836742,-1.056781,0.336993,-1.010103},
{1.112336,-1.012345,3.123848,27.108437,4.101011,-3.741856,2.101023,-0.71828,-0.037585},
{-0.113584,2.189736,2.031454,4.101011,19.897918,0.431637,-3.111223,2.121314,1.784317},
{0.718719,1.563849,1.836742,-3.741865,0.431637,9.789365,-0.103458,-1.103456,0.238417},
{1.742382,-0.784165,-1.056781,2.101023,-3.111223,-0.103458,14.713846,3.123789,-2.213474},
{3.067813,1.112348,0.336993,-0.71828,2.121314,-1.103456,3.123789,30.719334,4.446782},
{-2.031743,3.123124,-1.010103,-0.037585,1.784317,0.238417,-2.213474,4.446782,40.00001}};
double b[9]={2.1874369,33.992318,-25.173417,01.784317,-86.612343,1.1101230,4.719345,
-5.6784392};
for(i=0;i9;i++) /*给A0赋初值*/
显示全部