求解线性方程组的解
(1)雅可比迭代法


#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
const int maxn=1000;
const double e=0.5*1e-5;
int n;
double a[maxn][maxn];
double x[maxn],y[maxn];
double flag;
//雅可比
void show()
{cout<<endl;for(int i=0;i<n;i++){printf("%lf  ",y[i]);}cout<<endl;return;
}void die_dai(int cur)
{//迭代//迭代的终止条件double tmp=0;for(int i=0;i<n;i++){double sum=a[i][n];for(int j=0;j<n;j++){if(i!=j){sum-=a[i][j]*x[j];}}//cout<<sum<<" "<<endl;y[i]=sum/a[i][i];tmp=max(tmp,fabs(y[i]));}for(int i=0;i<n;i++)x[i]=y[i];if(fabs(tmp-flag)>e){show();flag=tmp;die_dai(cur+1);//  show();}else{cout<<endl<<cur;show();return ;}
}int main()
{cin>>n;for(int i=0;i<n;i++)for(int j=0;j<=n;j++)cin>>a[i][j];//初始x带入for(int i=0;i<n;i++)x[i]=0;//flag=0;//无穷范数die_dai(1);return 0;
}
/*
3
10 -1 -2 7.2
-1 10 -2 8.3
-1 -1 5 4.2*/

(2)高斯赛德尔

#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
const int maxn=1000;
const double e=0.5*1e-5;
int n;
double a[maxn][maxn];
double x[maxn];
double flag;
//高赛
void show()
{cout<<endl;for(int i=0;i<n;i++){printf("%lf ",x[i]);}cout<<endl;return;
}void die_dai(int cur)
{//迭代//迭代的终止条件double tmp=0;for(int i=0;i<n;i++){double sum=a[i][n];for(int j=0;j<n;j++){if(i!=j){sum-=a[i][j]*x[j];}}//cout<<sum<<" "<<endl;x[i]=sum/a[i][i];tmp=max(tmp,fabs(x[i]));}if(fabs(tmp-flag)>e){show();flag=tmp;die_dai(cur+1);//  show();}else{cout<<endl<<cur;show();return ;}}
int main()
{cin>>n;for(int i=0;i<n;i++)for(int j=0;j<=n;j++)cin>>a[i][j];//初始x带入for(int i=0;i<n;i++)x[i]=0;//flag=0;//无穷范数die_dai(1);return 0;
}
/*3
1 6 -2 1
2 -2 5 2
4 1 -1 3
3
10 -1 -2 7.2
-1 10 -2 8.3
-1 -1 5 4.2
*/

雅可比迭代法——高赛迭代法相关推荐

  1. 如何利用MATLAB求解线型方程组--雅可比迭代法、高斯赛德尔迭代法

    文章目录 前言 1 直接法 2 迭代法 小结 前言 今天我们要说的就是数值微积分,赶紧看看他和高等数学中的微积分有什么区别吧.本文是科学计算与MATLAB语言专题六第2小节的学习笔记,如果大家有时间的 ...

  2. 雅可比(Jacobi)迭代法解线性方程组的Matlab实现

    雅可比(Jacobi)迭代法解线性方程组的Matlab实现 代码 运行 代码 迭代法解线性方程组的基本思想是构造一串收敛到解的序列,即建立一种从已有近似解计算新的近似解的规则,有不同的计算规则得到不同 ...

  3. 二分法+牛顿迭代法+简化牛顿迭代法+牛顿下山法解方程的近似值

    1.二分法 //求方程 2*x*x*x-4*x*x+3*x-6 的根 /* 二分法*/ #include<stdio.h> #include<math.h> #define E ...

  4. 数值分析线性方程组迭代法之SOR迭代法详解及其C语言算法实现

    SOR迭代法,又名逐次超松弛迭代法,与Jacobi迭代法和Guass-Seidel迭代法相比,收敛速度更快其原理如下(想详细了解,可以点击这里数值分析(东北大学)): 1.构造迭代式时,要加上一个大于 ...

  5. 牛顿迭代法python_python 牛顿迭代法

    使用牛顿迭代法求方程 在x附近的一个实根. 赋值X,即迭代初值:用初值x代入方程中计算此时的f(x)=(a * x * x * x + b * x * x + c * x + d)和f'(x)=(3 ...

  6. matlab 高斯迭代法求解,高斯迭代法matlab算例

    Matlab 线性方程组的迭代解法 Gauss-Seidel 迭代法 Matlab 线性方程组的迭代解法 Gauss-Seidel 迭代法实验报告 1.熟悉 Gauss-Seidel 迭代法,并编写 ...

  7. matlab用雅可比迭代法,如何利用MATLAB求解线型方程组--雅可比迭代法、高斯赛德尔迭代法...

    文章目录 前言 1 直接法 2 迭代法 小结 前言 今天我们要说的就是数值微积分,赶紧看看他和高等数学中的微积分有什么区别吧.本文是科学计算与MATLAB语言专题六第2小节的学习笔记,如果大家有时间的 ...

  8. matlab用雅可比(Jacobi)迭代法求解方程组

    function x=myjacob(A,b,x0) myeps=0.0001; n=length(b); err0=1; while err0>myepsx1=zeros(n,1);for i ...

  9. 迭代法解方程:牛顿迭代法、Jacobi迭代法

    牛顿迭代公式 设已知方程f(x)=0的近似根x0 ,则在x0附近f(x)可用一阶泰勒多项式 近似代替.因此, 方程f(x)=0可近似地表示为p(x)=0.用x1表示p(x)=0的根,它与f(x)=0的 ...

最新文章

  1. linux mysql 5.7.12_Linux环境mysql5.7.12安装教程
  2. php 接口测压,PHP API接口测试小工具
  3. android 列表倒计时,Android利用RecyclerView实现列表倒计时效果
  4. JavaScript id_好程序员web前端分享Javascript中函数作为对象
  5. Bash on Windows 抢鲜测试 -- 介绍及安装
  6. Asp.net--DropDownList控件绑定数据库数据
  7. java中有关文件流的操作
  8. vector,list deque三种容器对比
  9. 转载:jillzhang的文章索引 包括(Nhiberate,WCF,WPF,项目管理等内容)
  10. 5 python 页面说明_Python爬虫爬取网易云的音乐
  11. LayaAir Sprite 容器添加子节点
  12. linux网络子系统分析(三)—— 设备无关层
  13. 20200709每日一句
  14. ucinet三天写论文!QAP分析实战
  15. Windows环境搭建Red5流媒体服务器
  16. 2021-10-12 CHIP类PCB封装的创建
  17. 肖飒:币圈新“口袋罪”?
  18. 项目管理心得体会(一)
  19. Postman~做接口测试
  20. 谷歌浏览器密码导入导出

热门文章

  1. 一文详解PHP连接MySQL数据库的三种方式
  2. 彻底凉了!腾讯知名软件全线下架,网友一片唏嘘。。。
  3. django官方文档——使用多个数据库
  4. 《菊与刀》--[美]鲁思·本尼迪克特(Ruth Benedict)
  5. Testrail 测试用例管理系统
  6. C语言数据结构之链表
  7. 中国500强企业 | 双胞胎集团携手契约锁共建电子签章系统
  8. 大数据可视化陈为智慧树_知到智慧树_大数据可视化_大学课后答案
  9. 新浪导航(html+css)
  10. 新版云盘网盘网站PHP源码+对接云存储/附教程