线性方程组的迭代法

本文探讨了线性方程组求解的两种迭代法——Jacobi迭代法和Gauss-Seidel迭代法。Jacobi方法通过迭代公式进行计算,初始值通常设为0。Gauss-Seidel法在每一步中使用最新结果,可能更节省时间和空间,但收敛速度和稳定性各有不同。控制迭代次数能有效防止资源浪费。
摘要由CSDN通过智能技术生成

迭代法的突出优点是算法简单,因而写成程序比较容易,然而迭代法又要求系数矩阵在迭代过程中保持收敛(要求对角占优),否则发散的迭代没有实用价值。

1>Jacobi迭代法

对于线性方程组∑aij*xj=bi,转化为xi=(bi-∑aij*xj)/aij,选取迭代初值x1=x2=x3=0,将其代入迭代,不断用第k步的值进行迭代出k+1步,直至逼近所要的结果。

do{
	cout<<endl;		
	error1=0;//清零
	for(i=0;i<row;i++)
	{
		temp=0;
		for(j=0;j<line;j++)
			if(j!=i)temp=temp+matrix[i][j]*x[j];
		x1[i]=(result[i]-temp)/matrix[i][i];
		cout<<x1[i]<<"\t";
		if(ABS(x1[i]-x[i])>error1)error1=ABS(x1[i]-x[i]);//寻找最大误差
	}
	for(j=0;j<line;j++)x[j]=x1[j];
}while(error1>error);//精度控制


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值