下载此文档

列主元实验报告.doc


文档分类:高等教育 | 页数:约4页 举报非法文档有奖
1/4
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/4 下载此文档
文档列表 文档介绍
《数值分析》实验报告
实验序号:实验二题目名称:列主元消元法解方程组
学号:201011xxxx 姓名:
任课教师: 专业班级:
实验目的:
编写用Gauss消元法解线形方程组的程序
2、实验分析:
计算方法分析:
Gauss消元法的基本做法就是把方程组转化成为一个如下图的等价的三角方程组,这个过程叫做消元。得到三角方程组后,就可以逐个求出Xn,Xn-1,…,X1,这个过程叫回代。
程序代码分析:
建立两个数组a和b,通过循环语句将n阶增广矩阵输入进去,通过对列的循环对每一列进行消去未知数,通过n小步n大步把矩阵化简成上三角形矩阵,最后通过迭代法解得方程组得解。
3、函数分析:
程序中只用到一个主函数,求解线形方程组得算法都放在主函数中,
利用以下函数进行求解:
a[i][j]=a[i][j]-a[i][k]/a[k][k]*a[k][j];
b[i]=b[i]-a[i][k]/a[k][k]*b[k];

迭代:
for(i=n-1;i>0;i--)
{
double sum=0;
for(j=i+1;j<=n;j++)
sum=sum+a[i][j]*b[j];
b[i]=(b[i]-sum)/a[i][i];
}
4、实验数据:
5、实验代码:
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
float a[10][10],b[10],d=0,t=0,sum=0;
int k=1,l=0,i=0,j=0,m,n;
cout<<"输入方程组组数: "<<endl;
cin>>n;
cout<<"输入方程组未知数:"<<endl;
cin>>m;
cout<<"输入方程组各项系数:"<<endl;
for(int i=1;i<=n;i++)
{
cout<< "第" <<i<< "组数据"<<endl;
for(int j=1;j<=m;j++)
cin>>a[i][j];
cin>>b[i];
}
while(k<=n)
{
//*****选主元素*****
d=a[k][k];
l=k;
for(i=k+1;i<=n;i++)
{
if(fabs(a[i][k])>fabs(d))
{
d=a[i][k];
l=i;
}
}
if(l!=k)
{
for(j=k;j<=n;j++)
{
t=a[l][j];a[l][j]=a[k][j];a[k][j]=t;
}
t=b[k];b[k]=b[l];b[l]=t;
}
//**************
//*****消元*****
for(j=k+1;j<=n;j++)
{
a[

列主元实验报告 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数4
  • 收藏数0 收藏
  • 顶次数0
  • 上传人mh900965
  • 文件大小91 KB
  • 时间2018-03-05
最近更新