高斯-赛德尔迭代法解线性方程组_第1页
高斯-赛德尔迭代法解线性方程组_第2页
高斯-赛德尔迭代法解线性方程组_第3页
高斯-赛德尔迭代法解线性方程组_第4页
高斯-赛德尔迭代法解线性方程组_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数值分析实验五班级:10信计二班 学号:59 姓名:王志桃 分数: .实验名称高斯-赛德尔迭代法解线性方程组实验目的1. 学会利用高斯赛德尔方法解线性方程组2. 明白迭代法的原理3. 对于大型稀疏矩阵方程组适用于迭代法比较简单三. 实验内容利用Gauss-Seidel迭代法求解下列方程组8x1 -3x2 2x3 = 20« 4x1 +11 x2 -1 x3 = 33 , 其中取 x(°)= 0。6x1 +3x2 +12x3 =36四、算法描述由Jacobi迭代法中,每一次的迭代只用到前一次的迭代值,若每一次迭代充分利用当前最新的迭代值,即在计算第i个分量为*刊时,用最新分量

2、xk*), x2(k扣xi-1(z)代替Gauss-Seidel 迭代法。(初始向量),旧分量x1(k) , x2(k) xik),就得到所谓解方程组的其迭代格式为(0),(0)(0)(0)、Tx =(x ,*2 ,' ' ',xn )(i 1)1( k 1)l(k).xi=(bi£ aijxj Z aijxj ) (k=0,1,2,;i = 0,1,2,n)aiij 1j =t 1或者写为x:k *)= x(k) + 皈 (k = k = 0,1,2,;i = 0,1,2, n)(i +)1寸(k+)寸(k)x i =( bi a § X j a

3、§ X j )aiij ztjd=+五、编码#include#include<stdio.h><stdlib.h>#include#include<conio.h><math.h>#define MAX_n 100#define PRECISION0.0000001#define MAX_Number1000void VectorInput(float x,int n) /输入初始向量int i;for(i=1;i<=n;+i)printf("x%d=",i);scanf("%f",&

4、;xi);void MatrixInput(float AMAX_n,int m,int n) /输入增广矩阵int i, j;printf("n=Begin input Matrix elements=n");for(i=1;i<=m;+i)printf("Input_Line %d : ",i);for(j=1;j<=n;+j)scanf("%f",&Aij);void VectorOutput(float x,int n) /输出向量int i;for(i=1;i<=n;+i)printf("

5、nx%d=%f",i,xi);判断是否在规定精度内 int IsSatisfyPricision(float x1,float x2,int n) /int i;for(i=1;i<=n;+i)if(fabs(x1i-x2i)>PRECISION) return 1;return 0;int Jacobi_(float AMAX_n,float x,int n) /具体计算(float x_formerMAX_n;int i,j,k;printf("nInput vector x0:n");VectorInput(x,n);k=0;do(for(i=1

6、;i<=n;+i)(printf("nx%d=%f",i,xi);x_formeri=xi;printf("n");for(i=1;i<=n;+i)(xi=Ain+1;for(j=1;j<=n;+j)if(j!=i) xi-=Aij*xj;if(fabs(Aii)>PRECISION)xi/=Aii;elsereturn 1;+k;while(IsSatisfyPricision(x,x_former,n) && k<MAX_Number);if(k>=MAX_Number)return 1;else(

7、printf("nG-S %d times!",k);return 0;int main() / 主函数(int n;float AMAX_nMAX_n,xMAX_n;printf("nInput n=");scanf("%d”,&n);if(n>=MAX_n-1)(printf("n007n must <%d!”,MAX_n);exit(0);MatrixInput(A,n,n+1);if(Jacobi_(A,x,n)printf("nG-S Failed!");else(printf(&qu

8、ot;nOutput Solution:");VectorOutput(x,n);printf("nn007Press any key to quit!n"); getch();F:窝用文档Debugshiyanwu.exe"Input n=3=Begin input Matrix elenents=Input_Line 1:8-3220InputJLine 2:411-133Input_Line 3:631236Input uector x0:xU=0x2=0x3J=0xl=0.000000x2)-0.000000x31=0.000000xtl=2.5

9、00000x2J=2.090909x31=1.227273xtl=2.977273x2=2.028925x31=1.004132xU=3.009814x(21-1.996807xC31-0.995891xU=2.999830x21=1.999689x3=l.000163xl=2.999842x2J=2.000072x31=1.000061xU =3.000012x2=2.000001x31=0.999994xtl=3.000002-:用文尚* Debug shiyansu. exeX【11=3.000002H2 J=L999999b<(3 J=0-959999:(1 J-3 .00000B U23=2.000000 t<3 1=1.000000Mil "3.000000 21=2.000000 k【3 】=1 - 000000G-S 10 t imes t Output SoIu.t

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论