⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 vc列主元素消去法.txt

📁 调试过的
💻 TXT
字号:
/* gcpelimm.c:use Gauss elimination method to solve linear system.这是主函数*/
#define DIM 5
#include "gcpelim.c"
extern int gelim(int process,double A[DIM][DIM],double b[DIM]);
void main(void)
{
int i,j;
static double A[DIM][DIM]={{2.0,-1.0,4.0,-3.0,1.0},
                           {-1.0,1.0,2.0,1.0,3.0},
                           {4.0,2.0,3.0,3.0,-1.0},
                           {-3.0,1.0,3.0,2.0,4.0},
                           {1.0,3.0,1.0,4.0,4.0}};
static double b[DIM]={11.0,14.0,4.0,16.0,18.0};
system("cls");
if(gcpelim(1,A,b)==1)
  {
   printf("The linear system has't solution!\n");
   printf("Strike key to exit !\n"); getch();  exit(1);
   }
   printf("Column principle elimination for the sulotion:\n");
for(i=0;i<DIM;i++)
  printf("  %10.6f\n",b[i]);
  getch();
}


--------------------------------------------
/*gcpelim.c:gauss列主元消去法的子函数*/
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#ifndef EPSILON
#define EPSILON 0.000000001
#endif
int gcpelim(int process,double A[DIM][DIM],double xx[DIM])
{
int k,i,j,i0;
double pelement;
if(process==1)  printf("The process of elimination\n");
/*  elimination step  */
for(k=0;k<DIM;k++)
{ 
   /*for principal element */
pelement=fabs(A[k][k]);i0=k;
for(i=k;i<DIM;i++)
   if(fabs(A[i][k])>pelement) {pelement=fabs(A[i][k]);i0=i;}
if(i0!=k)
{
  for(j=0;j<DIM;j++)
   {
    pelement=A[k][j];A[k][j]=A[i0][j];A[i0][j]=pelement;}
    pelement=xx[k];xx[k]=xx[i0];xx[i0]=pelement;
    }
if(fabs(A[k][k])<EPSILON) return(1);
for(i=k+1;i<DIM;i++)
  {
     A[i][k]=A[i][k]/A[k][k];
     for(j=k+1;j<DIM;j++)  A[i][j]=A[i][j]-A[i][k]*A[k][j];
     xx[i]=xx[i]-A[i][k]*xx[k];
      }
     if(process==1)
       {
       for(i=0;i<DIM;i++)
       {
       for(j=0;j<DIM;j++)  printf("%10.6f",A[i][j]);
       printf("  |%10.6f\n",xx[i]);
        }
       printf("\n");
        }
       }
  /* backward step  */

  for(i=DIM-1;i>=0;i--)
    {
     for(j=i+1;j<DIM;j++)  xx[i]=xx[i]-A[i][j]*xx[j];
     xx[i]=xx[i]/A[i][i];
     }
   return(0);
   }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -