数值分析。
上机实习题。
姓名:苗琳。
专业:检测技术与自动化装置。
学号:2006020063
院系:电工学院。
2024年12月。
第一题。题目:
已知a和b1)用househloser变换,把a化为三对角阵(并打印b)。
2)用超松弛法求解bx=b(取松弛因子ω=1.4,x(0)=0,迭代9次)。
3)用列主元素消去法求解bx=b。
解题思路:1、用househloser变换,把a化为三对角阵。
设a=(aij), aij= aji ,a=( a1 , a2 ,…an),ai=( a1i , a2i ,…ani) t,取第一列a1 中a11不动,把( a21 , a31 ,…an1) t化为(±s1 , 0 ,0,… 0) t,这里s1 2=ai1 2, s1 前面的正负号表示镜像可取为两个方向相反的向量,这增加计算的灵活性。
记d1=( a11 ,±s1 ,0,… 0) t,则d1=h1a1,这里。
h1=e-2 ω1ω1t ,ω1=( a1 –d1 )/a1 –d1 ||u1/ |u1 ||
u1 t =(a1 –d1 ) t=(0,a21s1,a31 ,…an1),|u1 ||2= |a1 –d1 ||2 =(a21s1) 2 + a31 2+……an1 2 ,=2 s1 22 a21s1 。
为了增加计算的灵活性,避免同号数相减,选取符号使2 a21s1>0,这样只需要把上式右端第二项取为2 sign(a21)a21s1即可,从而。
u1 t =(a1 –d1 ) t=(0,a21+sign(a21)s1,a31 ,…an1)。
若已把前r阶子阵三对角化了,则取。
h r =e-2 ωrωrt=e-ururt/αr 。
r = s r 2a (r)r+1, r s r = s r 2+|a (r)r+1, r|s r ,s r =(a (r)i, r)2 )1/2,u r =[0,…,0,a (r)r+1, rs r ,a (r)r+2, r ,…a (r)n, r] t
[0,…,0,a (r)r+1, r+sign(a (r)r+1, r)s r ,a (r)r+2, r ,…a (r)n, r] t
这样,若以a r 表示前r 阶子阵已三对角化了的a r-1 再经反射变换后的矩阵,则a = h r a r-1 h r经过n-2次迭代后便得到了三对角阵。
2、用超松弛法求解bx=b。
由gs方法的分量形式。
i=1,2,…,n) ,当时i,j=1,2,…n ;
当时i,j=1,2,…n 。
如果把已算出的作为中间量并记为,再用它与作组合,得。
这里ω为松弛因子。
3、用列主元素消去法求解bx=b。
将方阵a和向量b写成c=(a b)。将c的第1列中第1行的元素与其下面的此列的元素逐一进行比较,找到最大的元素,将第j行的元素与第1行的元素进行交换,然后通过行变换,将第1列中第2到第n个元素都消成0。将变换后的矩阵的第二列中第二行的元素与其下面的此列的元素逐一进行比较,找到最大的元素,将第k行的元素与第2行的元素进行交换,然后通过行变换,将第2列中第3到第n个元素都消成0。
以此方法将矩阵的左下部分全都消成0。最终形式如下:
a b)~主程序如下:
#include <>
main()
int i,j,r,m,t,n=10,d=9;
double md,y0,a[8][10][10]=,h[8][10][10]=,s[8]=,x[8]=,u[8][10]=,ab[10][10]=,ac[10][11]=,bb[10][10]=,g[10]=,x2[10]=,x3[10]=,xa[10]=;
double b[10]=;
float w=1.4;
a[0][1][1]=12.38412, a[0][1][2]=2.115237, a[0][1][3]=-1.
061074,a[0][1][4]=1.112336, a[0][1][5]=-0.113584,a[0][1][6]=0.
718719,a[0][1][7]=1.742382, a[0][1][8]= 3.067813,a[0][1][9]=-2.
031743;
a[0][2][1]=2.115237, a[0][2][2]=19.141823,a[0][2][3]=-3.
125432,a[0][2][4]=-1.012345,a[0][2][5]=2.189736, a[0][2][6]=1.
563849,a[0][2][7]=-0.784165,a[0][2][8]=1.112348, a[0][2][9]=3.
123124;
a[0][3][1]=-1.061074,a[0][3][2]=-3.125432,a[0][3][3]=15.
567914,a[0][3][4]=3.123848, a[0][3][5]=2.031454, a[0][3][6]=1.
836742,a[0][3][7]=-1.056781,a[0][3][8]=0.336993, a[0][3][9]=-1.
010103;
a[0][4][1]=1.112336, a[0][4][2]=-1.012345,a[0][4][3]=3.
123848,a[0][4][4]=27.108437,a[0][4][5]=4.101011, a[0][4][6]=-3.
741856,a[0][4][7]=2.101023, a[0][4][8]=-0.71828, a[0][4][9]=-0.
037585;
a[0][5][1]=-0.113584,a[0][5][2]=2.189736, a[0][5][3]=2.
031454,a[0][5][4]=4.101011, a[0][5][5]=19.897918,a[0][5][6]=0.
431637,a[0][5][7]=-3.111223,a[0][5][8]=2.121314, a[0][5][9]=1.
784317;
a[0][6][1]= 0.718719,a[0][6][2]=1.563849, a[0][6][3]=1.
836742,a[0][6][4]=-3.741856,a[0][6][5]=0.431637, a[0][6][6]=9.
789365,a[0][6][7]=-0.103458,a[0][6][8]=-1.103456,a[0][6][9]=0.
238417;
a[0][7][1]=1.742382, a[0][7][2]=-0.784165,a[0][7][3]=-1.
056781,a[0][7][4]=2.101023, a[0][7][5]=-3.111223,a[0][7][6]=-0.
103458,a[0][7][7]=14.713846,a[0][7][8]=3.123789, a[0][7][9]=-2.
213474;
a[0][8][1]=3.067813, a[0][8][2]=1.112348, a[0][8][3]=0.
336993,a[0][8][4]=-0.71828, a[0][8][5]=2.121314, a[0][8][6]=-1.
103456,a[0][8][7]=3.123789, a[0][8][8]=30.719334,a[0][8][9]=4.
446782;
a[0][9][1]=-2.031743,a[0][9][2]=3.123124,a[0][9][3]=-1.
010103,a[0][9][4]=-0.037585,a[0][9][5]=1.784317,a[0][9][6]=0.
238417,a[0][9][7]=-2.213474,a[0][9][8]=4.446782,a[0][9][9]=40.
00001;
for(r=1;r
for(i=r+1;i
s[r]=sqrt(y0求sr
x[r]=s[r]*s[r]+fabs(a[r-1][r+1][r])*s[r求αr
u[r][r+1]=a[r-1][r+1][r]+a[r-1][r+1][r]*s[r]/fabs(a[r-1][r+1][r求u r
for(i=r+2;i
for(i=1;i
for(i=1;i
for(i=1;i {
for(j=1;j {
h[0][i][j]=0;
for(m=1;m {
h[0][i][j]+=h[r][i][m]*a[r-1][m][j];
数值分析作业
12.求在 0,1 上的一次最佳平方逼近多项式与二次最佳平方逼近多项式。函数 function s zjpfbj n,a,b 创建一个函数,里面填入次数,和区间范围。base inline x j 1 x j 定义多项式。quan inline 1 x 权函数。a zeros n 1 y zeros...
数值分析作业
实验2.2算法设计与比较。实验目的 编制不同方法的matlab程序,这些方法的计算效果和特点。问题提出 非线性方程的数值解法很多,不同的方法效果如何,要靠计算的实践来分析 比较。实验内容 考虑下列算法 1 牛顿法 2 弦割法 3 抛物线法。分别编写它们的matlab程序。牛顿法程序 function...
数值分析作业
数值分析上机作业。zhh mushan 班级 土木工程一班。姓名 赵惠惠。班级 2010510359 二零一一年六月 舍入误差与有效数。一 问题说明。1 设,其精确值为。1 编制按从小到大的顺序计算通用程序。2 编制按从小到大的顺序计算通用程序。3 按两种顺序分别计算并指出有效位数。编制程序用单精度...