博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C语言 高斯-若尔当消元法
阅读量:6478 次
发布时间:2019-06-23

本文共 2041 字,大约阅读时间需要 6 分钟。

高斯若尔当方便解N元方程:

#include 
#include
#include
float a[3][4]={
{
2,1,-1,8},{-3,-1,2,-11},{-2,1,2,-3}}; int rows=3,cols=4; void print_matrix() {
//打印矩阵 int i,j; int m=rows,n=cols; for(i=0;i
fabs(a[i][j]) ){
swap_row(k,i); //按绝对值大小排序 printf("行%d与行%d交换位置\n",k,i); print_matrix(); } //消除非1的主元; zhuyuan=a[i][j]; if(zhuyuan!=1){
xiao_zhuyuan(i,j,zhuyuan); print_matrix(); }//if if(a[k][j]!=0){
int temp=0; int u,v; for(v=i;v

不过目前只做到 矩阵梯队的形式。

继续。。。。。

——————————————————————————————————————————————————————————————————

上个例子中存在一些问题:

1.在交换行的时候,没有全行比较,只比较了相邻2行。

2.在显示第几行的时候,用的是数组的下标,故少了1.

3.没有对浮点数的显示优化,现在用的是"%.3g",这样能减少小数部分的长度.

4.没有用到 jordan的方法直接求解。

下面是完整例子,不过也不是最佳的,因为里面的变量看起来有点乱。

#include 
#include
#include
float a[3][4]={
{
2,1,-1,8},{-3,-1,2,-11},{-2,1,2,-3}}; //float a[4][5]={
{2,1,-1,8,1},{-3,-1,2,-11,1},{-2,1,2,-3,1},{5,7,8,0,1}}; int rows=3,cols=4; void print_matrix() {
//打印矩阵 int i,j; int m=rows,n=cols; for(i=0;i
maxval ){
maxval=fabs(a[d][j]); maxi=d; } } if(maxi!=i){
swap_row(maxi,i); //按绝对值大小排序 printf("行%2d与行%2d交换位置\n",maxi+1,i+1); print_matrix(); } //消除非1的主元; zhuyuan=a[i][j]; if(zhuyuan!=1){
xiao_zhuyuan(i,j,zhuyuan); print_matrix(); }//if if(a[k][j]!=0){
int temp=0; int u,v; for(v=i;v
=0;i--){
for(k=0;k

 

在测试这个程序的时候发现:如果是方阵话,若尔当消元后,变成类似一下的矩阵:

1 0 0 0 0 0 0 0

0 1 0 0 0 0 0 0
0 0 1 0 0 0 0 0
0 0 0 1 0 0 0 0
0 0 0 0 1 0 0 0
0 0 0 0 0 1 0 0
0 0 0 0 0 0 1 0
0 0 0 0 0 0 0 1

附:

高斯消元法百科:高斯若尔当消元法百科:

在线高斯-若尔当消元计算(英文): 

转载于:https://www.cnblogs.com/ikodota/archive/2011/12/26/gauss-jordan.html

你可能感兴趣的文章
SQL存储过程中的几个常见设定SET QUOTED_IDENTIFIER/NOCOUNT/XACT_ABORT ON/OFF
查看>>
第一部分:基础知识(第一章)第一个 Silverlight 手机程序
查看>>
Silverlight与Flash区别之一
查看>>
删除恢复Hadoop集群中的DataNode
查看>>
Silverlight 2动态创建矩形对象(附完整源代码)
查看>>
PowerShell中对属性设置别名
查看>>
从京东技术演进看互联网企业的成长历程
查看>>
MFC ado+mysql+odbc技术分享
查看>>
路由基本命令(含中文解释)
查看>>
js中让字符串中特定字符红色显示
查看>>
HttpClient4.5教程-第二章-连接管理
查看>>
Yeslab 马老师 V2V环境下vCenter Server Heartbeat v6.4实现vCenter5.0的双机备份
查看>>
linux下定时任务
查看>>
redhat Nginx 安装
查看>>
利用START命令入侵
查看>>
oracle 配置监听
查看>>
上海访微软 详解Azure和S+S
查看>>
跨国巨头猛攻语音识别技术 让电脑听懂人们说话
查看>>
运行QTP测试脚本后,将编译结果写入指定文件(一)
查看>>
6.1. Principles of Usability
查看>>