下载此文档

理学试验直接法求解线性方程组.pptx


文档分类:高等教育 | 页数:约7页 举报非法文档有奖
1/7
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/7 下载此文档
文档列表 文档介绍
该【理学试验直接法求解线性方程组 】是由【niuww】上传分享,文档一共【7】页,该文档可以免费在线阅读,需要了解更多关于【理学试验直接法求解线性方程组 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。试验3解线性方程组的直接法
/*DirectMethodforSolvingLinearSystems*/
求解
§1高斯消元法/*GaussianElimination*/
高斯消元法:
思路
首先将A化为上三角阵/*upper-triangularmatrix*/,再回代求解/*backwardsubstitution*/。
=
Guass列主元消去法步骤
基本步骤
,b,TOL
=1:N

|P|<=TOL则停止,输出无解信息,否则




#include<>
#include<>
#include<>
#include<>
#defineN4
#defineEPS1e-5
voidGuass(doubleA[][N+1])
{inti,j,k=0,I,t;
doublew=0,p,b;
for(k=0;k<N-1;k++)
{/*选主元*/
p=A[k][k];
I=k;
for(i=k+1;i<N;i++)
if(fabs(A[i][k])>fabs(p))
{p=A[i][k];
I=i;
}
if(fabs(p)<EPS)
{printf("thenumberiserror!i=%d,
k=%d\n",i,k);
exit(0);
}
/*换行*/
if(I!=k)
for(j=0;j<N+1;j++)
{b=A[k][j];
A[k][j]=A[I][j];
A[I][j]=b;
}
for(i=k+1;i<N;i++)
{/*行乘数*/
A[i][k]=A[i][k]/A[k][k];
for(j=k+1;j<N+1;j++)
A[i][j]=A[i][j]-A[i][k]*A[k][j];
}
}
/*输出变换后的矩阵*/
printf("TheMatrix:\n");
for(i=0;i<N;i++)
{for(j=0;j<N+1;j++)
printf("A[%d][%d]=%",
i,j,A[i][j]);
printf("\n");
}
if(fabs(A[N-1][N-1])<EPS)
{printf("thenumberiserrorA=%f\n",
A[N-1][N-1]);
exit(-1);
}
A[N-1][N]=A[N-1][N]/A[N-1][N-1];
/*回代求解*/
for(k=N-2;k>=0;k--)
{w=0;
for(j=k+1;j<N;j++)
w=w+A[k][j]*A[j][N];
A[k][N]=A[k][N]-w;
A[k][N]=A[k][N]/A[k][k];
}
/*方程组的解*/
printf("theroot:\n");
for(i=0;i<N;i++)
printf("x[%d]=%f\n",i,A[i][N]);
}
voidmain()
{doubleA[N][N+1]=/{1,-1,2,-1,-16,2,-2,3,-3,-40,1,1,1,0,-4,1,-1,4,3,8};
clrscr();
Guass(A);
}

理学试验直接法求解线性方程组 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数7
  • 收藏数0 收藏
  • 顶次数0
  • 上传人niuww
  • 文件大小157 KB
  • 时间2022-10-27