- 1、本文档共11页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
09-2方程组的简单迭代法
2013-2014(1)专业课程实践论文
题目:方程组的简单迭代法
算法理论
1.解线性方程组的两种方法:
直接法: 经过有限次运算后可求得方程组精确解的方法(不计舍入误差!)
迭代法:从解的某个近似值出发,通过构造一个无穷序列去逼近精确解的方法。
2.迭代法主要研究的问题:
1)迭代格式的构造;
2)迭代的收敛性分析;
3)收敛速度分析;
4)复杂性分析;(计算工作量)
5)初始值选择。
3.迭代法的原理:
将原线性方程组中系数矩阵的主对角线移到一边并将其系数化为一,然后在给定迭代初值的情况下通过迭代的方法求解线性方程组的值。
迭代法的基本思想:
将线性方程组 (1)
(其中为阶非奇异矩阵,为维向量)
改写成等价形式 (2)
构造简单迭代格式:
, (3)
亦即
, (4) 可算出线性方程组(1)的近似解序列:
我们把用公式(3)进行迭代求解的方法称为简单法,并称式(3)
为简单迭代式,矩阵称为迭代矩阵,称为初始近似解,称为次近似解,称为迭代次数。
二、算法框图
算法程序
#includeiostream
#includemath.h
#includeiomanip
using namespace std;
#define kk 50 //定义最大方程元数
int n,i,c,j,hh,gg,mm;
double A[kk][kk],x[kk][kk],b[kk],y[kk],a[kk],z[kk],m,nn,d,e=1,w,fff ;
int main()
{
cout输入的方程元数endl; //数据的输入
cinn;
cout请输入方程系数矩阵:endl;
for(i=0;in;i++)
for(j=0;jn;j++)
cinA[i][j];
cout请输入右边向量:endl;
for(i=0;in;i++)
cinb[i];
cout输入你想要的迭代精度(建议1e-5以上)!endl;
cinfff;
cout输入最大迭代次数(建议300次以上)!endl;
cinmm;
//计算出迭代矩阵
for(i=0;in;i++)
{
b[i]=b[i]/A[i][i];
for(j=0;jn;j++)
{
if(i==j)
{
x[i][i]=0;
}
else
{
x[i][j]=-A[i][j]/A[i][i];
}
}
}
//输出迭代矩阵
cout计算出迭代矩阵为:endl;
for(i=0;in;i++)
{
for(j=0;jn;j++)
coutx[i][j] ;
coutb[i] ;
coutendl;
}
//赋迭代初值
cout输入迭代初值endl;
for(i=0;in;i++)
ciny[i];
int f=1;
//简单迭代法
cout ;
for(i=1;in+1;i++)
cout\tX[i] \t;
cout精度;
coutendl;
cout迭代初值为: ;
coutsetiosflags(ios::fixed);
for(i=0;in;i++)
couty[i] ;
coutendl;
while(efff)
{
for(i=0;in;i++)
{
z[i]=y[i];
nn=0;
for(j=0;jn;j++)
{
nn=nn+x[i][j]*y[j];
y[i]=nn+b[i];
}
e=fabs(z[0]-y[0]);
if(fabs(z[i]-y[i])e)
e=fabs(z[i]-y[i]);
if(i==0)
{
coutsetiosflags(ios::fixed);
cout第setw(3)setprecision(3)f++次迭代 ;
}
coutsetiosflags(ios::fixed);
coutsetw(8)setprecision(8)y[i] ;
}
coute;
coutendl;
if(fmm)
{
cout迭代次数大于mm次endl;
cout认为方程发散,迭代不收敛endl;
exit(1);
}
}
coutendl;
coutendl;
cout方程迭代了f-1次,达到你所要求的精度fffendl;
cout最后结果为:endl;
coutendl;
for(i=0;in;i++)
您可能关注的文档
- (RJ-SY)选修3—5第十六章 动量守恒定律1-3节.doc
- (Multisim数电仿真)计数译码和显示电路.doc
- (好)电抗器作用.doc
- (人教版)初中化学导学案第一单元.doc
- (二)心电图基础有关知识.doc
- (可编辑)福建省厦门市2012年高三5月质检理综试题.doc
- (怎样巧拟文章的标题,唤起读者的阅读兴趣呢)作文训练.doc
- (异地监控设置)动态域名解析的设置.doc
- (总结一)poj简单动态规划.doc
- (机电一体化课程设计).doc
- 五位一体教案教学教案设计.docx
- 思修与法基-教学教案分享.pptx
- 大学军事之《中国国防》题库分享.docx
- 2023版毛泽东思想和中国特色社会主义理论体系概论第五章-中国特色社会主义理论体系的形成发展.pdf
- 思修与法基 教学全案分享.docx
- 大学军事之《军事思想》题库分享.docx
- 《经济思想史》全套课件-国家级精品课程教案课件讲义分享.pdf
- 厦门大学国际金融全套资料(国家级精品课程)--全套课件.pdf
- 2023版毛泽东思想和中国特色社会主义理论体系概论第五章-中国特色社会主义理论体系的形成发展.docx
- 2023版毛泽东思想和中国特色社会主义理论体系概论第五章中国特色社会主义理论体系的形成发展分享.pdf
文档评论(0)