- 296
- 0
- 约3.09千字
- 约 9页
- 2020-10-02 发布于浙江
- 举报
2012-2013(1)专业课程实践论文
完全主元素消去法
董健 0818180101,R数学08-1班
陈泊宇 0818180116,R数学08-1班
一、算法理论
设方程组的增广矩阵为
首先在A中选取绝对值最大的元素作为主元素,例如,然后交换B的第一行与第行,第1列于第列,经第一次消元计算得
重复上述过程,设已完成第k-1步的选主元素,交换两行及交换两列,消元计算,(A,b)约化为
,
其中元素仍记作,元素仍记作
第K步选主元素(在右下角方框内选),即确定使
交换第k行与行元素交换第k列与列元素,将调到(k,k)位置,在进行消元计算,最后将原方程组化为
其中的次序为未知数调换后的次序。回代求解得
二、算法框图
开始
开始
输入N,a[i][j]的值,确定方程组
输入N,a[i][j]的值,确定方程组
变换出三角矩阵,并回代得到方程组的解将A中绝对值最大的元素通过行列变换到a[i][i] 令i=1确定方程组增广矩阵为
变换出三角矩阵,并回代得到方程组的解
将A中绝对值最大的元素通过行列变换到a[i][i]
令i=1
确定方程组增广矩阵为
YES
NO
三、算法程序
#includestdio.h
#includeiostream.h
#includemath.h
float a[100][101];
float x[10];
int N; //阶数
void shuchu()
{
for(int i=1;i=N;i++)
{
for(int j=1;j=N+1;j++)
{
couta[i][j];
cout ;
}
coutendl;
}
}
void initdata()
{
cout请输入阶数N:;
cinN;
coutendl;
cout请输入N*(N+1)个数endl; //输入矩阵中的数
for(int i=1;i=N;i++)
for(int j=1;j=N+1;j++)
{
cina[i][j];
}
coutendl;
cout建立的矩阵为:endl; //打印出矩阵
shuchu();
}
void main()
{
int z[10];
int maxi,maxj;
initdata();
for(int i=1;i=N;i++)
z[i]=i;
for(int k=1;kN;k++)
{
maxi=k;maxj=k;float maxv=abs(a[k][k]);
for(i=k;i=N;i++)
for(int j=k;j=N;j++)
if(abs(a[i][j])maxv)
{
maxv=abs(a[i][j]);maxi=i;maxj=j;
}
if(maxi!=k) //换行
{
for(int j=1;j=N+1;j++)
{
float t=a[k][j];a[k][j]=a[maxi][j];a[maxi][j]=t;
}
}
if(maxj!=k) //换列
{
for(i=1;i=N;i++)
{
float t=a[i][k];a[i][k]=a[i][maxj];a[i][maxj]=t;
}
int t=z[k]; z[k]=z[maxj];z[maxj]=t;
}
for(int i=k+1;i=N;i++) //消元
{
float l=a[i][k]/a[k][k];
for(int j=k;j=N+1;j++)
{
您可能关注的文档
最近下载
- 经营分析会,必须要讲清楚的几个指标(25页 PPT).pptx VIP
- 总经理营销总监经营例会运营分析模板PPT.pptx VIP
- 新人教版九年级语文上册期末测试卷及答案【审定版】.doc VIP
- 2025 经营分析核心指标及搭建指南(23页 PPT).pptx VIP
- 风电项目建设标准强制性条文监督检查计划.docx VIP
- 奥的斯 HAA21310BW(ACD5-MRL 40A)电气原理图.pdf VIP
- 洛阳市第五人民医院2026年编外人员公开招聘备考题库及一套答案详解.docx VIP
- 畜禽屠宰加工企业消防安全指南.docx VIP
- DND传奇职业可选专长.docx VIP
- 洛阳市第五人民医院2026年编外人员公开招聘备考题库及完整答案详解一套.docx VIP
原创力文档

文档评论(0)