服务器之家

服务器之家 > 正文

C语言解3元1次方程组 用初中学的最基本的联合消元法

时间:2021-01-09 15:01     来源/作者:C语言教程网

没学过线性代数,但是很多算法都和矩阵相关,所以就硬着头皮学。
最近就想自己能不能先写个算线性方程组的程序呢?后来就想了这么个方法,暂时只能算3元的,任意元的接下来继续想。有太多硬编码,希望有兴趣的读者可以给点修改建议!

 

复制代码 代码如下:


#include "stdafx.h"//VS2010需要
#include "stdio.h"
#include "stdlib.h"
#include "math.h"
double x[3];//存放解x,y,z,使用数组便于输出
//x=1,y=2,z=3
//double A[3][4]=
//{
// 1,1,1,-6,
// 1,1,-1,0,
// 1,-1,1,-2
//};
//x=2,y=5,z=10
double A[3][4]=
{
 1,2,3,-42,
 2,-1,5,-49,
 -1,3,-3,17
};

 

//A的第一个方程分别与2、3个方程联合消去z,得到x,y的两个方程,存入B
double B[2][4];
//B的两个方程联合消去y,得到x
double C[1][4];


void CombineB(int i)//A[0]与A[1]或A[2]消去z
{

 double m0=abs(A[i][2]);
 int b=A[0][2]*A[i][2]>0?-1:1;
 double mi=b*abs(A[0][2]);
 //printf("m0=%lf,mi=%lf\n",m0,mi);//调试用
 for(int j=0;j<4;j++)
 {
  B[i-1][j]=A[0][j]*m0+A[i][j]*mi;
 }


}

void CombineC()//B[0]与B[1]消去y
{

 double m0=abs(B[1][1]);
 int b=B[0][1]*B[1][1]>0?-1:1;
 double m1=b*abs(B[0][1]);

 for(int j=0;j<4;j++)
 {
  C[0][j]=B[0][j]*m0+B[1][j]*m1;
 }


}
//显示4个参数
void Show(double N[][4],int d1)
{
 char W[3]={'x','y','z'};

 for(int i=0;i<d1;i++)
 {
  for(int j=0;j<3;j++)
  {
   printf("%lf * %c + ",N[i][j],W[j]);
  }
  printf("%lf = 0\n",N[i][3]);
 }
 printf("\n\n");
}

int _tmain(int argc, _TCHAR* argv[])
{
 Show(A,3);
 CombineB(1);
 CombineB(2);
 Show(B,2);
 CombineC();
 Show(C,1);

 //得到x后则依次算出其他数字
 x[0]=(0-C[0][3])/C[0][0];
 x[1]=(0-B[0][3]-B[0][0]*x[0])/B[0][1];
 x[2]=(0-A[0][3]-A[0][0]*x[0]-A[0][1]*x[1])/A[0][2];
 //输出结果
 for(int i=0;i<3;i++)
  printf("x[%d]=%lf\t",i,x[i]);
 printf("\n");
 system("pause");
 return 0;
}

 

2.截图 

C语言解3元1次方程组 用初中学的最基本的联合消元法

相关文章

热门资讯

2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
Intellij idea2020永久破解,亲测可用!!!
Intellij idea2020永久破解,亲测可用!!! 2020-07-29
背刺什么意思 网络词语背刺是什么梗
背刺什么意思 网络词语背刺是什么梗 2020-05-22
歪歪漫画vip账号共享2020_yy漫画免费账号密码共享
歪歪漫画vip账号共享2020_yy漫画免费账号密码共享 2020-04-07
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总 2020-11-13
返回顶部

798
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40