22(线性方程组求解)高斯赛德尔迭代法
高斯赛德尔迭代法(线性方程组求解)
【问题描述】为求解一个线性方程组,使用高斯赛德尔迭代法,采用欧几里得距离判定是否收敛。精度delta为1E-9,最大迭代次数为20。
【输入形式】在屏幕上依次输入方阵阶数n,系数矩阵A,常数矩阵B和起始点P。
【输出形式】输出实际迭代次数,然后每一行输出一个根。
【样例1输入】
3
4 -1 1
4 -8 1
-2 1 5
7
-21
15
1
2
2
【样例1输出】
10
2
4
3
【样例1说明】输入:第1行为方阵阶数3,第2行至4行为系数矩阵A,第5行至7行为常数矩阵B,第8行至10行为起始点。输出:实际迭代次数为10,然后每行依次输出方程解:x1, x2, x3。
【评分标准】根据输入得到的输出准确
#include <iostream>
#include <cmath>
using namespace std;int main() {double A[100][100], b[100];//A系数矩阵 b常数矩阵int n;cin >> n;//阶数 double delta = 0.000000001;//误差上限 int num = -1;//计实际迭代次数 for (int i = 0; i < n; i++) //输入系数矩阵 {for (int j = 0; j < n; j++) {cin >> A[i][j];}}for (int i = 0; i < n; i++)//输入常数矩阵 {cin >> b[i];} double X[100];//解向量 for (int i = 0; i < n; i++)//输入起始点P {cin >> X[i];}while (true){int flag = 0;for (int i = 0; i < n; i++) {double temp = X[i];X[i]=0;for (int j = 0; j < n; j++) {if (i!=j)X[i]+= -A[i][j]*X[j];}X[i] = (X[i]+b[i])/A[i][i];if (fabs(X[i]-temp) < delta)flag++;}if (flag==n)break;num++;if ((num - 1) > 20) break;//迭代次数大于20则跳出while循环 }cout << num <<endl;//先输出实际迭代次数 for (int i = 0; i < n; i++) { //依次输出解 cout << X[i] << endl;}
}
22(线性方程组求解)高斯赛德尔迭代法相关推荐
- 科学计算与数学建模-线性方程组求解的迭代法 思维导图
第六章 回归问题-线性方程组求解的迭代法
- 【计算方法】雅克比迭代法-高斯赛德尔迭代法求解线性方程组(c语言实现)
计算方法–用雅克比迭代法和高斯赛德尔迭代法求解线性方程组 AX = b 雅克比迭代法的数学基础 x = Gx + b x = (A ^ -1) b A = L + D + U(L是一个下三角阵,他的对 ...
- 高斯赛德尔迭代法(线性方程组求解)
问题描述 为求解一个线性方程组,使用高斯赛德尔迭代法,采用欧几里得距离判定是否收敛.精度delta为1E-9,最大迭代次数为20. 输入形式 在屏幕上依次输入方阵阶数n,系数矩阵A,常数矩阵B和起始点 ...
- 用Matlab求解一维非稳态周期性导热问题(有限单元法+隐式离散+高斯赛德尔迭代法)
本次求解不一定对,请先看最后说明 一.问题描述与分析 本次问题条件如下: 计算模拟如下一维常物性无内热源非稳态导热的温度场,以及内外壁面的热流密度,并进行温度场和热流的特点分析,相关参数如下. 室内温 ...
- 【计算方法】迭代法(线性方程组求解)
解线性方程组的方法有如下两类 直接法:高斯消去法,三角分解法等,这些方法可用于求解低阶稠密方程组 迭代法:雅可比迭代法,高斯-赛德尔迭代法等,用于求解高阶稀疏方程组 雅可比迭代法 高斯-赛德尔迭代法 ...
- C++使用雅可比迭代法(jacobi)和高斯赛德尔迭代法(G-S)解线性方程组
理论部分: 简言之 jacobi迭代法就是把线性方程组化为关于第i行xi的等式,然后利用等式循环计算xi Gauss-Seidel迭代法就是在jacobi迭代的基础上,在计算第i+1行的xi+1时,带 ...
- jacobi迭代法matlab_解线性方程组的经典迭代法(1)-理论
本文复习求解线性方程组的经典迭代法的理论部分,且主要是单步迭代法. 下一节将会是MATLAB编程实现,并大概比较下各算法的优劣. 我们考虑的问题是求解线性方程组 ,其中 是n阶实方阵, 是n维列向量. ...
- 六、线性方程组求解--Jacobi和Gauss-Seidel迭代求解
六.线性方程组求解-Gauss消去.Jacobi和Gauss-Seidel迭代求解 1.消去法求解原理 求解Ax = b,首先对增广矩阵(A|b)进行初等行变换为如下三种矩阵对角阵.上三角阵.下三角阵 ...
- matlab中欠定方程组超定方程组_一篇文章入门大规模线性方程组求解
前面介绍过主要的线性方程组求解库,参考附录.求解大规模线性方程组是仿真软件求解器的底层技术,求解器时间基本都消耗在方程组求解上.线性方程组的解法比较成熟,方法也有很多,而且不同的方法对应不同类型方程组 ...
最新文章
- mysql事务的四大特性与简单运用
- 【开发环境专题一】Maven环境搭建
- django上传文件到服务器,如何用django将文件上传到服务器?
- 从资源管理器中,获取被选择的文件的路径(及文件夹)的API
- MFC获取屏幕分辨率
- 庄文展解读李嘉诚(四十五) 如何管理好自己的”自负指数”?
- dropbox与public
- 千峰商城-springboot项目搭建-06-数据库创建
- China Mobile”、“China Unicom”,请修改为中国移动、中国联通
- 畅游人工智能之海 | Keras教程之Keras的知识结构
- java计算机毕业设计商品供应管理系统源码+系统+数据库+lw文档+mybatis+运行部署
- 美通企业日报 | 中国最佳创新公司50名榜单发布;柯锐世全新亚洲总部在上海启用...
- 【转载】【整理】《三五个人十来条枪 如何走出软件作坊成为开发正规军》合集 [更新至41]...
- LIKE语句通配符:%|_|[]
- 声源分离算法性能评估指标SIR、SDR、SAR
- Qt编译通过,运行时出现the process was ended forcefully问题的解决方案
- 【AMT 20周年】董事长孔祥云致客户、股东、员工的一封信
- python怎么筛选excel数据_懂Excel也能轻松入门Python数据分析包pandas(二):高级筛选(上)-excel筛选...
- VScode中使用svn常用简单操作
- x210移植wifi(三):WIFI网卡的配置过程(wpa_supplicant)