自己写的高斯消元,也不知道对不对
来源:互联网 发布:奥飞数据 反馈意见 编辑:程序博客网 时间:2024/04/30 11:33
#include<stdio.h>double argu_matrix[300][300],x[300];//arguement matrix and x matrixint main(void){ int n,i,j,k; double sum; scanf("%d",&n); for(i=0;i<n;i++) for(j=0;j<n+1;j++) scanf("%lf",&argu_matrix[i][j]); //here is the lack of checking for the argu_matrix //to do for(i=0;i<n-1;i++) { for(j=i+1;j<n;j++) argu_matrix[j][i]=argu_matrix[j][i]/argu_matrix[i][i]; //get the li parameter for(j=i+1;j<n;j++) for(k=i+1;k<=n;k++) argu_matrix[j][k]=argu_matrix[j][k]-argu_matrix[j][i]*argu_matrix[i][k]; //updata the remain matrix } for(i=n-1;i>=0;i--) //back-substitute { sum=0; for(j=i+1;j<n;j++) sum+=argu_matrix[i][j]*x[j]; x[i]=(argu_matrix[i][n]-sum)/argu_matrix[i][i]; } for(i=0;i<n-1;i++) //output the x[] printf("%lf ",x[i]); printf("%lf\n",x[i]); return 0;}
上面的代码精度不够,修改后如下:
#include<stdio.h>#include<algorithm>#define type double#define N 100#define Abs(x) ((x)<0?-(x):(x))using namespace std;type matrix[N][N];void gauss_elimination(int n){int i,j,k,r;//消元过程for(i=0;i<n;i++){r=i;//选绝对值最大的去消for(j=i+1;j<n;j++) if(Abs(matrix[j][i])>Abs(matrix[r][i])) r=j; if(r!=i) for(j=0;j<=n;j++) swap(matrix[r][j],matrix[i][j]);//与i+1~n行进行消元for(j=n;j>=i;j--)for(k=i+1;k<n;k++)matrix[k][j]-=matrix[k][i]/matrix[i][i]*matrix[i][j];}//回代过程for(i=n-1;i>=0;i--){for(j=i+1;j<n;j++)matrix[i][n]-=matrix[i][j]*matrix[j][n];matrix[i][n]/=matrix[i][i];}}
- 自己写的高斯消元,也不知道对不对
- XML练习文档 不知道自己写的对不对!
- 网上看到的,也不知道说的对不对
- # 我也不知道对不对 # 迈阶梯
- 刚刚接了个电话,作出了一个我也不知道对不对的决定
- 自己写的j2me下用的双缓冲消息队列类,不知对不对
- adapter调用notifyDataSetChanged无效解决了但不知道对不对也不知道原理
- SQLite 的一点点。。。不知道对不对
- 第一次写,也不知道写点啥
- 我也不知道写什么
- 今天心情出奇的不好,自己也不知道为什么?
- Tiles使用(自己也不太会用,知道的指点一下)
- 关于盗版 - 也不知道谁写的,太N了
- SQL以A表的B列来更新C表的D列,百度好多下也不知道,自己写的。
- 新手提问 想要做一个单机android应用,要实现注册登录功能。目前折在了连数据库这一步上,也不知道自己这么做对不对,哪儿错了。求教求教!
- 不知道对不对
- 不知道这对不对
- 这样做真不知道对不对
- 风向哪儿吹 纪念图灵先生
- 设计模式- 策略模式
- C#中的全局变量及其一点延伸
- C# 抽象类和接口的区别
- 设置树形控件标签可编辑
- 自己写的高斯消元,也不知道对不对
- 关于青春
- 风的世界里有海的七滴泪水
- Win7 Iphone4手机通过电脑上网设置 开机自动打开WIFI
- arm-linux-gcc-4.3.2.tgz 安装配置步骤
- eclipse使用小技巧
- 设置linux重启后oracle自动启动的步骤
- jQuery选择器总结
- 浮躁