虽然数值老师让我们用图形化进行编程,但由于自己对于GUI编程了解的比较少,这里暂时还是在dos窗口实现吧.实验题目:
1,Guass列选主元消去法

|2.5 2.3 -5.1|  | x1 |    |3.7|
|5.3 9.6 1.5 |  | x2 |  = |3.8|
|8.1 1.7 -4.3|  | x3 |    |5.5| 

    对于AX=b;根据课本39面的算法描述:
    首先:输入方程组的维数n,矩阵A,右端项b,控制精度这里我们先不管:...
    后面bb的啥选主元,交换两行,消元,没啥好说明的,下面直接上代码:
    

/*************************************************************************> File Name: guass.c> Author:chendiyang> School:WUST_CST_1501班> Myblog:www.chendsir.com> Mail:1441353519@qq.com > Created Time: 2017年04月17日 星期一 11时01分51秒************************************************************************/#include <stdio.h>
#include <math.h>
#define MAX 20   //最大维数 int main()
{int n;int i,j,k;int mi;double mx,tmp;static double a[MAX][MAX],b[MAX],x[MAX];printf("\n 输入方程组的维数:");//输入AX=b的维数scanf("%d",&n);if(n>MAX){return 1;} if(n<=0){return 1;}//输入矩阵的值printf("\n请输入A矩阵的值:"); for(i=0;i<n;i++)for(j=0;j<n;j++) scanf("%lf",&a[i][j]);//输入b矩阵 printf("\n请输入B矩阵的值:");      for(i=0;i<n;i++)scanf("%lf",&b[i]);for(i=0;i<n-1;i++){//找主元素 for(j=i+1,mi=i,mx=fabs(a[i][i]);j<n;j++)if(fabs(a[j][i])>mx){mi=j;mx=fabs(a[j][i]);}//交换两行  if(i<mi){tmp=b[i];b[i]=b[mi];b[mi]=tmp;for(j=i;j<n;j++){tmp=a[i][j];a[i][j]=a[mi][j];a[mi][j]=tmp;}} //高斯消元 for(j=i+1;j<n;j++){tmp=-a[j][i]/a[i][i];b[j]+=b[i]*tmp;for(k=i;k<n;k++)a[j][k]+=a[i][k]*tmp;}}//求解方程 x[n-1]=b[n-1]/a[n-1][n-1];for(i=n-2;i>=0;i--){x[i]=b[i];for(j=i+1;j<n;j++)x[i]-=a[i][j]*x[j];x[i]/=a[i][i];}//输出运行结果 printf("solution is :\n");for(i=0;i<n;i++)printf("%lf\n",x[i]);return 0;    }

    运行结果如图:
                
    可以看到图中运行的guass.c源文件(./guass代表运行这个程序,这是Linux上的gcc编译和运行命令),同时又运行了sequence.c源文件(./sequence代表运行这个程序)两个结果都是相同的,代表之前的顺序消去法和列选主元消去法的输出的solution结果都是相同的,这表明两种方法产生的误差都一样....

实验一:Guass列选主元消去法之C语言代码相关推荐

  1. 数值作业:Guass全选主元消去法之C语言代码

    全选主元的基本思想:当变换到第K步时,从系数矩阵的右下角(n-k+1)阶子阵中选取绝对值最大的元素,然后通过行变换与列变换将它交换到主元素a[k][k]的位置上.行变换是不影响最后求解的结果的,但是列 ...

  2. Guass列选主元消去法和三角分解法

    最近数值计算学了Guass列主消元法和三角分解法解线性方程组,具体原理如下: 1.Guass列选主元消去法对于AX =B 1).消元过程:将(A|B)进行变换为,其中是上三角矩阵.即: k从1到n-1 ...

  3. 数值计算(一)之解线性方程组(高斯消去法,列选主元消去法,全选主元消去法,杜立特尔分解,克洛特分解,乔里斯基分解)

    解线性方程组即解一个多元一次方程组,例如 目录 消去法 分解法 消去法 原理 没有学过高级的解法也没关系,凭借我们初高中的知识足以解决这个问题 这是一个多元一次方程组,拥有n个未知量,也有n方程 我们 ...

  4. 实验二:Lagrange拉格朗日插值法之C语言代码

    拉格朗日插值多项式的算法就比前面的简单些,30行代码左右可以搞定,不过为了通俗易懂,这里我写了比较多的注释.题目:已知下列函数表: x | 0.56160 | 0.56280 | 0.56401 | ...

  5. Matlab实现 LU分解法解线性方程组(全选主元列选主元)

    选主元LU分解 实验内容:列选主元LU分解和全选主元LU分解求解线性方程组 计算方法: 全选主元消元法 1.1 初始化 根据参数A.b,记录下矩阵.右端项的尺寸n: 以得到的尺寸n初始化解向量x: 同 ...

  6. py实现高斯列选主元消元法

    什么是高斯列选主元消元法 高斯消元法解决的问题是线性方程组的求解问题. 比如下面这个方程组 x+2y = 3 x+4y = 8 我们大学之前学习的方法其实就是高斯消元法. 上面的方程组我们还可以写成矩 ...

  7. Python02 雅克比迭代法 Gauss-Seidel迭代法 列选主元法 LU分解法(附代码)

    1. 实验结果 (1)在定义的矩阵类中设置需要求解的方程为: (2)在 test.py 中选择雅克比迭代法求解: 输入:最大容许迭代次数和精度要求: 输出:根据谱半径判断方法是否收敛,收敛时得到满足精 ...

  8. 解线性方程组的python实现(1)——高斯主元消去法

    解线性方程组的python实现1--高斯主元消去法 1. 高斯(顺序)主元消去法 1.1 消去过程 1.2 回代过程求解 实现代码 2 列主元消去法 实现代码 3 高斯-约旦(Gauss-Jordan ...

  9. 部分选主元matlab,列选主元的高斯消去法-matlab

    大家对高斯消去法应该比较了解了,高代和线性代数中做的已经不少了,但是计算机实现的时候还是要注意一些东西, %列选主元的高斯消去法 function X=lufact_my(A,B) %Inpiut A ...

  10. C#实现Gauss完全主元消去法

    一.目的 1.掌握高斯完全主元消去法基础原理 2.掌握高斯完全主元消去法解方程组的步骤 3.能用程序语言对Gauss完全主元消去法进行编程实现 二.代码 1.Program.cs using Syst ...

最新文章

  1. 还在为cximage编译问题而发愁吗?
  2. 数据库设计的酸(ACID)碱(BASE)原则
  3. 程序员大牛必备的装逼神器
  4. 一个月后的2016产品汪温馨提示
  5. 学习组合模式,转载一段有关组合模式的详解
  6. Unity搭建简单的图片服务器
  7. 在tornado中使用异步mysql操作
  8. bzoj 1014: 洛谷 P4036: [JSOI2008]火星人
  9. PPT文件如何大幅度瘦身、减小所占空间、提高播放速度?
  10. 计算机组成原理中ID是什么,计算机组成原理
  11. Appium下载及环境搭建
  12. 基于multisim14的函数信号发生器仿真
  13. 一根网线实现双机互联共享文件
  14. sift论文_ImageNet一作邓嘉最佳论文,ECCV2020奖项全公布
  15. 戴尔台式机装linux系统,在戴尔(Dell)台式机上安装深度Deepin系统的BIOS设置方法...
  16. ffmpeg源码简析(十)libswscale中的SwsContext,sws_scale()
  17. android高分段进阶攻略(9)——ViewPager补间动画实现京东广告Banner
  18. 详解 Jenkins 自动化部署平台
  19. mysql中Tinyint(1)和Tinyint(4)的区别
  20. 深圳大澳湾度假团建攻略

热门文章

  1. 用Python制作核酸检测日历
  2. Docker容器设置自动启动的方法
  3. BZOJ 1213 HNOI2004 高精度开根 二分+高(Py)精(thon)度
  4. 阿里云产品分析(PPT)
  5. 伪随机生成器具体实现——密码法
  6. 马斯洛提出动机理论_人做事的动机来自于哪里?--马斯洛需求层次理论解读
  7. kettle使用httpClient获取ES索引数据
  8. STM32f401驱动【语音模块】
  9. C#-实现微信激活会员卡后响应激活动作并获取会员信息
  10. 华为路由器后台登录协议