东北大学数值分析实验报告

{

c[i]=c[i]/a[i];

a[i+1]=a[i+1]-d[i+1]*c[i]; }

cout<<\输出解向量a[]:\ for(i=1;i<=n;i++)cout<

y[i]=(b[i]-d[i]*y[i-1])/a[i]; }

cout<<\输出解向量y[]:\ for(i=1;i<=n;i++)cout<

for(i=n-1;i>=1;i--)

{

x[i]=y[i]-c[i]*x[i+1]; }

cout<<\输出解向量x[]:\ for(i=1;i<=n;i++)cout<

运行结果

课题三 线性方程组的迭代法

一、问题提出

对课题二所列目的和意义的线性方程组,试分别选用Jacobi 迭代法,Gauss-Seidol迭代法和SOR方法计算其解。 二、要求

1、体会迭代法求解线性方程组,并能与消去法做以比较;

2、分别对不同精度要求,如??10?3,10?4,10?5由迭代次数体会该迭代法的收敛快慢;

3、对方程组2,3使用SOR方法时,选取松弛因子?=0.8,0.9,1,1.1,1.2等,试看对算法收敛性的影响,并能找出你所选用的松弛因子的最佳者; 4、给出各种算法的设计程序和计算结果。 三、目的和意义

1、通过上机计算体会迭代法求解线性方程组的特点,并能和消去法比较; 2、运用所学的迭代法算法,解决各类线性方程组,编出算法程序; 3、体会上机计算时,终止步骤x(k?1)?x(k)对迭代法敛散性的意义;

4、体会初始解 x(0),松弛因子的选取,对计算结果的影响。

?< ? 或k >(予给的迭代次数),

1.Jacobi 迭代法

开始输入系数矩阵级右端项维数和初始解向量最大迭代次数和精度循环k=1..N i=1…n J=1..nX[i]=(b[i]-∑A[ij]x0[j])/A[ii]+x0[i]i=1…nR=max|x[i]-x0[i]|R=

#include #include #include using namespace std; int main() {

int n,N; int i,j,k;

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4