Gauss-Seidel迭代法求解线性方程组Word文档下载推荐.docx

上传人:聆听****声音 文档编号:940403 上传时间:2023-04-29 格式:DOCX 页数:6 大小:139.44KB
下载 相关 举报
Gauss-Seidel迭代法求解线性方程组Word文档下载推荐.docx_第1页
第1页 / 共6页
Gauss-Seidel迭代法求解线性方程组Word文档下载推荐.docx_第2页
第2页 / 共6页
Gauss-Seidel迭代法求解线性方程组Word文档下载推荐.docx_第3页
第3页 / 共6页
Gauss-Seidel迭代法求解线性方程组Word文档下载推荐.docx_第4页
第4页 / 共6页
Gauss-Seidel迭代法求解线性方程组Word文档下载推荐.docx_第5页
第5页 / 共6页
Gauss-Seidel迭代法求解线性方程组Word文档下载推荐.docx_第6页
第6页 / 共6页
亲,该文档总共6页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

Gauss-Seidel迭代法求解线性方程组Word文档下载推荐.docx

《Gauss-Seidel迭代法求解线性方程组Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《Gauss-Seidel迭代法求解线性方程组Word文档下载推荐.docx(6页珍藏版)》请在冰点文库上搜索。

Gauss-Seidel迭代法求解线性方程组Word文档下载推荐.docx

其迭代格式为

(初始向量),

或者

三.程序框图

开始

读入数据,初始向量,增广矩阵

k=N?

输出迭代失败标志

结束

输出

四.结果显示

TestBench

利用Gauss-Seidel迭代法求解下列方程组

,其中取。

运行程序

依次输入:

1.方阵维数

2.增广矩阵系数

3.初始向量

得到:

迭代12次后算出

x[1]=-4.0

x[2]=3.0

x[3]=2.0

五.程序

#include <

stdio.h>

stdlib.h>

conio.h>

math.h>

#define MAX_n 100

#definePRECISION 0.0000001

#defineMAX_Number 1000

voidVectorInput(floatx[],intn)//输入初始向量

{

inti;

for(i=1;

i<

=n;

++i)

{

printf("

x[%d]="

i);

scanf("

%f"

&

x[i]);

}

}

voidMatrixInput(floatA[][MAX_n],intm,intn)//输入增广矩阵

inti,j;

printf("

\n输入系数矩阵:

\n"

);

=m;

增广矩阵行数%d:

"

for(j=1;

j<

++j)

scanf("

A[i][j]);

voidVectorOutput(floatx[],intn)//输出向量

\nx[%d]=%f"

i,x[i]);

intIsSatisfyPricision(floatx1[],floatx2[],intn)//判断是否在规定精度内

if(fabs(x1[i]-x2[i])>

PRECISION)return1;

return0;

intJacobi_(floatA[][MAX_n],floatx[],intn)//具体计算

floatx_former[MAX_n];

inti,j,k;

\n初始向量x0:

VectorInput(x,n);

k=0;

do{

for(i=1;

{

printf("

x_former[i]=x[i];

}

x[i]=A[i][n+1];

for(j=1;

if(j!

=i)x[i]-=A[i][j]*x[j];

if(fabs(A[i][i])>

PRECISION)

x[i]/=A[i][i];

else

return1;

++k;

}while(IsSatisfyPricision(x,x_former,n)&

&

k<

MAX_Number);

if(k>

=MAX_Number)

return1;

else

\nGauss-Seidel迭代次数为%d次"

k);

return0;

intmain()//主函数

intn;

floatA[MAX_n][MAX_n],x[MAX_n];

\n方阵维数n="

scanf("

%d"

n);

if(n>

=MAX_n-1)

\n\007nmust<

%d!

"

MAX_n);

exit(0);

MatrixInput(A,n,n+1);

if(Jacobi_(A,x,n))

\nGauss-Seidel迭代失败!

\n结果:

VectorOutput(x,n);

\n\n\007Pressanykeytoquit!

getch();

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2