高斯—赛德尔迭代求矩阵特征值公式如下:


举例:

实现代码:

#include "stdio.h"
#include "stdlib.h"
#include "math.h"

#define N 3 
#define MAXITER 10000

void main()
{
int i, j, k;
int iter = 0;
int count;
double a[N][N] = {10, -2, -1, -2, 10, -1, -1, -2, 5};
double b[N] = {3, 15, 10};
double new_x[N] = {0};
double old_x[N] = {0};
double e = 0.0000001;
bool flag = false;

//开始迭代
while(iter<MAXITER && !flag)
{
count = 0;
iter++;

for(i=0; i<N; i++)
old_x[i] = new_x[i];

for(i=0; i<N; i++)
new_x[i] = 0;

//高斯—赛德尔计算
for(i=0; i<N; i++)
{

for(j=0; j<N; j++)
{
if(i==j)
continue;

new_x[i] -= a[i][j]*old_x[j];
}

new_x[i] += b[i];

new_x[i] = new_x[i]/a[i][i];
}

//检测是否收敛
for(i=0; i<N; i++)
if(fabs(new_x[i]-old_x[i])>e)
{
count++;
break;
}

if(count==0)
flag = true;

}

for(i=0; i<N; i++)
{
for(j=0; j<N; j++)
printf("%lf  ", a[i][j]);
printf("%lf\n", b[i]);
}

for(i=0; i<N; i++)
printf("%lf  ", new_x[i]);

printf("\n迭代次数:%d  \n", iter);

}

运行结果:


高斯—赛德尔求解线性方程+C代码相关推荐

  1. 高斯-赛德尔(Gauss-Seidel)解线性方程组的Matlab实现

    高斯-赛德尔(Gauss-Seidel)解线性方程组的Matlab实现 代码 运行 手算例题 迭代法解线性方程组的基本思想是构造一串收敛到解的序列,即建立一种从已有近似解计算新的近似解的规则,有不同的 ...

  2. 数值计算方法 线性方程组的数值解法(4)---向量和矩阵范数(norm) 高斯-赛德尔(Gauss-Seidel)迭代、共轭梯度(Conjugate Gradient)迭代

    (范数部分matlab有现成函数,若有需要直接参照matlab_norm) 向量范数 设x∈Rn\boldsymbol x\in \boldsymbol R^nx∈Rn则范数||x||满足:∣∣x∣∣ ...

  3. 运用雅可比(Jacobi)和高斯-赛德尔(GS公式)求解方程组

    实验名称: 运用雅克比和高斯赛德尔公式求解方程组 实验目的: a. 比较两种方法的收敛速度 b. 验证收敛条件的正确性 实验内容 1.比较两种方法的收敛速度 Jacobi公式原理 xi(k+1)=1a ...

  4. 高斯-赛德尔(Gauss-Seidel)迭代法求解线性方程组matlab程序设计

    算法步骤 例题 程序代码 function x=GaussSeidel(A,b,x0,eps,N) n=length(b); if nargin<5N=500; end if nargin< ...

  5. 电力系统潮流计算(牛顿-拉夫逊法、高斯-赛德尔法、快速解耦法)【6节点 9节点 14节点 26节点 30节点 57节点】(Matlab代码实现)

  6. 【深入浅出强化学习原理入门】高斯-赛德尔(Gauss-Seidel)迭代法

    基于模型的动态规划方法中,使用高斯-赛德尔迭代算法求解值函数. 这种迭代算法到底是怎么求解线性方程组的,文章迭代法求解线性方程组给出了非常详细的解释. 但理解该文还需要了解相关的基础知识: 1.范数 ...

  7. 三种迭代法解方程组(雅可比Jacobi、高斯-赛德尔Gaisi_saideer、逐次超松弛SOR)

    分析用下列迭代法解线性方程组 4 -1 0 -1 0 0       0 -1 4 -1 0 -1 0        5 0 -1 4 -1 0 -1        -2 -1 0 -1 4 -1 0 ...

  8. 高斯—赛德尔(Gauss - Seidel)迭代法解线性方程组(Matlab程序)

    %---高斯-赛德尔迭代法----- %---Gauss - Seidel iteration method clear;clc; % A=[10,-1,-2;-1,10,-2;-1,-1,5]; % ...

  9. matlab中用高斯-赛德尔(Gauss-Seidel)迭代法解线性方程组

    原理 矩阵形式: %GS迭代法矩阵形式 clear; clc; a=[4,-1,0,-1,0,0;-1,4,-1,0,-1,0;0,-1,4,-1,0,-1;-1,0,-1,4,-1,0;0,-1,0 ...

最新文章

  1. python写界面输入测试脚本_python+Selenium自动化测试——输入,点击操作
  2. s7-200与计算机modbus通讯案例,西门子200MODBUS通讯案例.doc
  3. Linux安装jupyter debugger+Conda设置proxy代理
  4. Django (auth模块、User对象、用户认证、线上-用户认证)
  5. MSSQL DBA权限获取WEBSHELL的过程
  6. 用html和css布局如下图像,[看书][CSS精粹(第2版)]第三章 CSS和图像 HTML网页布局...
  7. Java的Comparator排序(升序降序)理解
  8. 基础算法 —— 模拟思维
  9. mysql between 等于_MySQL中BETWEEN子句的用法详解
  10. UEFI---(NT32)的第一个代码
  11. usb芯片+android+驱动,PL2303芯片驱动
  12. 论文格式排版技巧(word版)
  13. socket套接字各个接口
  14. 慕课网风袖小程序 一一第一阶段
  15. 盐于律己,甜以待人(*╹▽╹*)
  16. C++实现STL文件向glTF文件的转换
  17. python用七巧板图片画个图_画一个太大而不能放进一个七巧板的图像
  18. 殆知阁古代文献藏书2.0版txt文本质量如何
  19. Windows中的工作组和域
  20. JAVA从零单排0-----前因

热门文章

  1. 2015.02.08——张佳莉
  2. ssm+java计算机毕业设计公交路线查询系统l1auz(程序+lw+源码+远程部署)
  3. burntest Linux参数,限拷机软件IntelBurnTest 2.0
  4. kafka安装部署和使用
  5. 带你学会C++文字页面类项目——4.整体完善与项目1
  6. JavaIDE的入门教程--Eclipse
  7. Webgl实现的天气效果(下雨、下雪)
  8. 车主委托过户和电子委托书
  9. 设备管理器中英特尔智音技术有黄色感叹号解决办法
  10. home credit default risk捷信消费金融违约风险模型复现(论文_毕业设计_作业)