高斯消元法

2021-06-20 12:43:46 字數 1056 閱讀 7906

寒假前,小導師給我們布置了三道程式設計題,其中有一道是利用高斯消元法解線性方程組的。在網上搜了些資料,自己照葫蘆畫瓢編出乙個簡單的高斯消元法(利用矩陣的初等行變換):

/*--------------------

高斯消元法解線性方程組

--------------------*/

#include

#include

#include

#define dim 10

double a[dim+1][dim+1],b[dim+1],x[dim+1];

mprint(int,int,double[dim+1][dim+1],double);

int main(void)

printf("開始輸入各元素的值:");

for(i=1;i<=n;i++)

printf("請輸入常數b[%d]",i);

scanf("%lf",&b[i]);

}mprint(n,n,a,b);

/*開始用高斯法計算*/

for(j=1;j<=n-1;j++)

b[i]=b[i]-temp*b[j];}}

printf("\n\n\n");

mprint(n,n,a,b);

/*開始反代*/

for(i=n;i>=1;i--)

x[i]=temp/a[i][i];}/*

x[n]=b[n]/a[n][n];

for(j=n-1;j>=1;j--)

x[j]=x[j]/a[j][j];}*/

for(i=1;i<=n;i++)

printf("x[%d]=%10.2f\n",i,x[i]);

}/* 列印結果函式*/

mprint(int m,int n,double a[dim+1][dim+1],double b[dim+1])

printf("%10.2f",b[i]);

printf("\n");

}}

還有很多不完善的地方,比如非滿秩,無窮解或者無解的情況該如何處理。

高斯消元法(二) 高斯消元法原理

高斯消去法是一種常用的求解線性方程組的方法,通過逐次消元後,在回代求解,實際計算中常用的一種方法。順序消去法 將ax b按照從上至下 從左至右的順序化為上三角方程組,中間過程不對矩陣進行交換,主要步驟如下。step1 將第2行至第n行,每行分別與第一行做運算,消掉每行第乙個引數。公式如 形成如下圖所...

高斯消元法

學過至少一元二次方程解法的同學們肯定知道,最常用的求根方法是加減消元法。所謂加減消元法,就是通過方程的等式性質,將某一未知數的係數同一化,再通過兩個等式的加減消去乙個元,從而將多元方程不斷降元,從而解出乙個未知數,不斷代回,從而求出所有根。此加減消元法就是高斯消元法。所以程式思路也盡可知。以下直接附...

高斯消元法

高斯消元法。直接附 了,這個 沒有回帶的。1 writer hsz wjmzbmr tourist hzwer 2 include3 include4 include5 include6 include7 include8 include 9 include10 include11 include1...