计算方法与实习
x7=0.560976 x8=0.518519 x9=-0.275862
x1=0.475243 x2=0.955405 x3=-0.044158 x4=0.0988084 x5=0.112508 x6=0.555905 x7=0.374157 x8=0.3103 x9=-0.309068
x1=0.0961066 x2=0.971952 x3=-0.432686 x4=0.00192468 x5=-0.203384 x6=0.477386 x7=0.236028 x8=0.2572 x9=-0.323428
x1=0.0777173 x4=-0.168851 x7=0.178575
x1=-0.0781318 x4=-0.197411 x7=0.148488
x1=-0.101146 x4=-0.255381 x7=0.12877
x1=-0.15659 x4=-0.265276 x7=0.125632
x1=-0.167924 x4=-0.284944 x7=0.11854
x1=-0.185996 x4=-0.288647 x7=0.120638
x1=-0.190742 x4=-0.295165 x7=0.118057
x1=-0.19611 x4=-0.296589 x7=0.120185
x1=-0.197987 x4=-0.298657
x2=0.631942 x5=-0.268676 x8=0.197638 x2=0.597791 x5=-0.368833 x8=0.185276 x2=0.468877 x5=-0.388258 x8=0.166424 x2=0.449305 x5=-0.420949 x8=0.162763 x2=0.404005 x5=-0.427669 x8=0.156613 x2=0.395401 x5=-0.438207 x8=0.15535 x2=0.380363 x5=-0.4407 x8=0.153367 x2=0.376868 x5=-0.443948 x8=0.152899 x2=0.37219 x5=-0.444895 x3=-0.459135 x6=0.436266 x9=-0.32709 x3=-0.612936 x6=0.409319 x9=-0.331197 x3=-0.632064 x6=0.405031 x9=-0.33205 x3=-0.688191 x6=0.395338 x9=-0.33335 x3=-0.697065 x6=0.398205 x9=-0.333603 x3=-0.716561 x6=0.394678 x9=-0.334027 x3=-0.720254 x6=0.397587 x9=-0.334114 x3=-0.726722 x6=0.396311 x9=-0.334251 x3=-0.728196 x6=0.398153
11
计算方法与实习
x7=0.119252 x8=0.152287 x9=-0.334283
x1=-0.199355 x2=0.370816 x3=-0.730221 x4=-0.299207 x5=-0.445811 x6=0.397698 x7=0.1206 x8=0.15211 x9=-0.334325
x1=-0.200078 x2=0.369499 x3=-0.730798 x4=-0.299816 x5=-0.446171 x6=0.398695 x7=0.120267 x8=0.151937 x9=-0.334337
x1=-0.200308 x2=0.368969 x3=-0.731376 x4=-0.300027 x5=-0.446385 x6=0.398536 x7=0.120996 x8=0.151869 x9=-0.334349
x1=-0.200582 x2=0.368668 x3=-0.731598 x4=-0.300183 x5=-0.446521 x6=0.399034 x7=0.12088 x8=0.151829 x9=-0.334354
x1=-0.200548 x2=0.368466 x3=-0.731736 x4=-0.300263 x5=-0.446546 x6=0.39898 x7=0.121244 x8=0.151803 x9=-0.334357
x1=-0.20065 x2=0.368436 x3=-0.731821 x4=-0.30029 x5=-0.446597 x6=0.399216 x7=0.121205 x8=0.151798 x9=-0.334358
x1=-0.200586 x2=0.36836 x3=-0.731838 x4=-0.300321 x5=-0.446583 x6=0.399198 x7=0.121377 x8=0.151789 x9=-0.334359
算法成功,迭代次数为:n=19 Press any key to continue
二、高斯—赛德尔迭代法
思路分析
1.用一个二维数组存储方程组的各项系数,两个数组x0,x1分别存储x和x求,并判断是否符合精度要求,第二层和第三层进行高斯塞德尔迭代
3.输出方程的解
kk?1
2.用三个嵌套的循环语句,第一层把上一次循环的x0赋给x1用于判断是否符合精度要
C++语言编程源代码如下:
//高斯—赛德尔迭代法
12
计算方法与实习
#include
double
s[9][10]={{ 31,-13,0,0,0,-10,0,0,0,-15},{-13,35,-9,0,-11,0,0,0,0,27},{0,-9,31,-10,0,0,0,0,0,-23},{0,0,-10,79,-30,0,0,0,-9,0},{
0,0,0,-30,57,-7,0,-5,0,-20},{0,0,0,0,7,47,-30,0,0,12},{0,0,0,0,0,-30,41,0,0,-7},{0,0,0,0,-5,0,0,27,-2,7},{0,0,0,0,0,0,0,-2,29,-10}} ,x1[9],x0[9],e=0.00001,u,s2=0;
int i,j,h,N=0,n=0; for(i=0;i<=8;i++){ }
x1[i]=x0[i]=1;
cout<<\迭代过程数据如下:\for(i=0;;i++){
for(j=0;j<=8;j++){ x1[j]=x0[j];
}
for(j=0;j<=8;j++){ for(h=0;h<=8;h++){
if(h!=j)s2+=(s[j][h]*x0[h]);
}
x0[j]=(-s2+s[j][9])/s[j][j]; s2=0;
}
for(j=0;j<=8;j++){ }
if(N==9)break;
cout<<\cout<<\cout<<\cout< u=fabs(x0[j]-x1[j]); if(u 13 计算方法与实习 } } cout<<\算法成功,迭代次数为:n=\return 0; 实验结果如下: 迭代过程数据如下: x1=0.258065 x4=0.49346 x7=0.470126 x1=0.401988 x4=-0.0297297 x7=0.260482 x1=0.107902 x4=-0.195084 x7=0.177436 x1=-0.0529445 x4=-0.260029 x7=0.144144 x1=-0.138131 x4=-0.284608 x7=0.130703 x1=-0.174984 x4=-0.294117 x7=0.125252 x1=-0.190247 x4=-0.29785 x7=0.123034 x1=-0.196416 x4=-0.29933 x7=0.122128 x1=-0.19889 x4=-0.29992 x7=0.121758 x2=1.43871 x5=0.119365 x8=0.355438 x2=0.957825 x5=-0.227786 x8=0.19335 x2=0.661571 x5=-0.364219 x8=0.167256 x2=0.493434 x5=-0.414628 x8=0.157788 x2=0.419683 x5=-0.433983 x8=0.154155 x2=0.389018 x5=-0.441562 x8=0.152733 x2=0.376639 x5=-0.444566 x8=0.15217 x2=0.371691 x5=-0.445766 x8=0.151945 x2=0.369716 x5=-0.446249 x8=0.151854 x3=-0.00166493 x6=0.875839 x9=-0.320315 x3=-0.304677 x6=0.589325 x9=-0.331493 x3=-0.559457 x6=0.47583 x9=-0.333293 x3=-0.661611 x6=0.430329 x9=-0.333946 x3=-0.703972 x6=0.411961 x9=-0.334196 x3=-0.720804 x6=0.404511 x9=-0.334294 x3=-0.727465 x6=0.401479 x9=-0.334333 x3=-0.730106 x6=0.400242 x9=-0.334349 x3=-0.731157 x6=0.399736 x9=-0.334355 14 计算方法与实习 x1=-0.199882 x2=0.368925 x3=-0.731577 x4=-0.300157 x5=-0.446444 x6=0.399529 x7=0.121606 x8=0.151817 x9=-0.334357 x1=-0.20028 x2=0.368608 x3=-0.731745 x4=-0.300253 x5=-0.446523 x6=0.399444 x7=0.121544 x8=0.151803 x9=-0.334358 x1=-0.200441 x2=0.36848 x3=-0.731813 x4=-0.300292 x5=-0.446555 x6=0.399409 x7=0.121519 x8=0.151797 x9=-0.334359 x1=-0.200505 x2=0.368429 x3=-0.731841 x4=-0.300307 x5=-0.446568 x6=0.399394 x7=0.121508 x8=0.151794 x9=-0.334359 x1=-0.200532 x2=0.368408 x3=-0.731852 x4=-0.300314 x5=-0.446573 x6=0.399388 x7=0.121504 x8=0.151793 x9=-0.334359 x1=-0.200542 x2=0.368399 x3=-0.731856 x4=-0.300316 x5=-0.446576 x6=0.399386 x7=0.121502 x8=0.151793 x9=-0.334359 算法成功,迭代次数为:n=15 Press any key to continue 实验分析 从两种迭代法的实验结果来看,高斯塞德尔迭代法比雅可比迭代法的收敛速度更快,可以用更少的迭代次数来得到方程的解。 习题5、按下列数据 xi 0.30 0.42 0.50 0.58 0.66 0.72 yi 1.04403 1.08462 1.11803 1.15603 1.19817 1.23223 作五次插值,并求x1?0.46,x2?0.55,x3?0.60时的函数近似值。 思路分析 可用拉格朗日差值多项式作五次插值,用一个双层嵌套的循环语句来计算拉格朗日多项 15