1 / 10
文档名称:

数值分析实验报告.docx

格式:docx   大小:98KB   页数:10页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

数值分析实验报告.docx

上传人:sssmppp 2020/12/30 文件大小:98 KB

下载得到文件列表

数值分析实验报告.docx

相关文档

文档介绍

文档介绍:数值分析实验报告
姓 名
张磊
学 号
20124871
班 级
软件1207班
指导教师
盛莹
实验名称
数值分析上机实验
开设学期
2013-2014 第二学期
评定成绩
评定人签字
评定日期
实验一
I 2iq-阴十35晒_1斗=16
[一 +14x^-15j^4-22jq =13
用SOR法求解方程组,、1、、•要求精度为10-6;并 指出迭代次数。(参考P66解线性方程组的SOR迭代算法)
1、程序源代码
SOR:
#include <iostream>
#inclucle <vector>
#inclucle <cstdlib>
#include <cmath>
using namespace stcl;
void mainO
{
int. n;
cout«/z请输入您运算方稈的元数:〃;
cin>〉n;
vector<vector<double> > va;
vector<double> vd;
cout«/z请按行输入系数矩阵及方程右端项b: /z«endl;
for(int i=0;i<n;i++)
{
for(int j=O;j<=n;j++)
{
double dteinp;
cin>>dtemp;
vcl. push back (dtemp);
}
va. push_back(vd);
vcl. clear ();
}
cout«z/请依次输入初始解向量x(0): /z«endl; vector<double> vtemp;
for(int k=0;k<n;k++)
double dtemp;
cin»dt emp;
vcl. push_back(dtemp);
}
COUt«,Z请输入精度:";
double cl;
cin»d;
cout«z/请输入最大迭代次数:";
int mcount;
cin>>mcount;
cout<<〃请输入松弛因子:〃;
double xd;
cin>〉xd;
vector<vector<double> >::iterator ia, iaend; ia=va. beg in ();
bool flag二true;
int count=0;
while (flag)
{
double clmax=;
vtemp. assign (vd. beginO, vcl. end());
for(int i二0;i〈n;++i)
{
double dteinp=0. 0;
for(int j=0;j<n;++j)
{
dtemp+=(*(ia+i)) [j]*vd[j];
else if(j>=i)
dtemp+=(*(i&+i))[j]*vtemp[j];
}
dtei叩二(*(ia+i)) [n]-dtemp; vd[i]=xd*dtemp/(*(ia+i))[i]; vd[i]+=vteinp[i];
}
count++;
for(int p二0;p〈n;p++)
{
i f (c!max<fabs (vd [p]-vtemp [p])) dmax^fabs(vd[