高斯消元法的c语言编程,列主元高斯消元法的C语言编程
列主元高斯消元法的C語言編程
列主元高斯消元法
基本思想:用高斯消元法求解線性方程組時,為避免小的主元,在進行第k步消元前,應該在第k列(k)元素aik(i k,(k)(k)例如|aikk| max|aik|,再把第ik個方程與第k,n)中找出第一個出現(xiàn)的絕對值最大者,
k≤i≤n
個方程進行交換,使ai(kk)成為主元。我們稱這個過程為選主元。由于只在第k列元素中選主元,通常也稱k
為按列選主元。
列主元高斯消元法的C語言編程
列主元高斯消元法的C語言程序代碼如下:
#include
#include
#include
#define N 4
void Gause_pivot(int n,double A[N][N+1],double x[])
{
//高斯消元
int i,j,k;
for(k=1;k<=n-1;k++)
{
//選主元
int ii,jj,kk,row;
double max,temp;
ii=1;kk=k;
max=A[ii-1+(kk-1)][kk-1];
for(jj=ii+1;jj<=n;jj++)
{
if (fabs(A[jj-1+(kk-1)][kk-1])>fabs(max))
{
max=A[jj-1+(kk-1)][kk-1];
row=jj+(kk-1);
}
}
for(ii=1;ii<=n+1;ii++)
{
temp=A[kk-1][ii-1];
A[kk-1][ii-1]=A[row-1][ii-1];
A[row-1][ii-1]=temp;
}
for(i=k+1;i<=n;i++)
for(j=k+1;j<=n+1;j++)
A[i-1][j-1]-=A[k-1][j-1]*A[i-1][k-1]/A[k-1][k-1];
}
//回代求解
x[n-1]=A[n-1][n]/A[n-1][n-1];
for(k=n-1;k>=1;k--)
{
總結(jié)
以上是生活随笔為你收集整理的高斯消元法的c语言编程,列主元高斯消元法的C语言编程的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java spring mvc_java
- 下一篇: 看门狗性能软件测试,《看门狗:军团》PC