- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《计算方法》
试验报告
班级:
学号:
姓名:
实验一、牛顿下山法
1 实验目的
熟悉非线性方程求根简单迭代法,牛顿迭代及牛顿下山法
能编程实现简单迭代法,牛顿迭代及牛顿下山法
认识选择迭代格式的重要性
对迭代速度建立感性的认识;分析实验结果体会初值对迭代的影响
2 实验内容
(1)用牛顿下山法解方程(初值为0.6)
输入:初值,误差限,迭代最大次数,下山最大次数
输出:近似根各步下山因子
(2)设方程f(x)=x- 3x –1=0 有三个实根 x=1.8793 , x=-0.34727 ,x=-1.53209现采用下面六种不同计算格式,求 f(x)=0的根 x 或x
x = ; x = ;x = ;
x = ;x = ;x = x -
输入:初值,误差限,迭代最大次数
输出:近似根、实际迭代次数
3 算法基本原理
求非线性方程组的解是科学计算常遇到的问题,有很多实际背景.各种算法层出不穷,其中迭代是主流算法。只有建立有效的迭代格式,迭代数列才可以收敛于所求的根。因此设计算法之前,对于一般迭代进行收敛性的判断是至关重要的。牛顿法也叫切线法,是迭代算法中典型方法,只要初值选取适当,在单根附近,牛顿法收敛速度很快,初值对于牛顿迭代
至关重要。当初值选取不当可以采用牛顿下山算法进行纠正。
一般迭代:
牛顿公式:
牛顿下山公式:
下山因子
下山条件
4 算法描述
一般迭代算法见流程图
牛顿下山算法见流程图:
5、代码:
#include iostream
#include fstream
#include cmath
using namespace std;
class srrt
{
private:
int n;
double *a, *xr, *xi;
public:
srrt (int nn)
{
n = nn;
a = new double[n+1]; //动态分配内存
xr = new double[n];
xi = new double[n];
}
void input (); //由文件读入代数方程系数
void srrt_root (); //执行牛顿下山法
void output (); //输出根到文件并显示
~srrt ()
{ delete [] a, xr, xi; }
};
void srrt::input () //由文件读入代数方程系数
{
int i;
char str1[20];
cout \n输入文件名: ;
cin str1;
ifstream fin (str1);
if (!fin)
{ cout \n不能打开这个文件 str1 endl; exit(1); }
for (i=n; i=0; i--) fin a[i]; //读入代数方程系数
fin.close ();
}
void srrt::srrt_root () //执行牛顿下山法
{
int m,i,jt,k,is,it;
double t,x,y,x1,y1,dx,dy,p,q,w,dd,dc,c;
double g,u,v,pq,g1,u1,v1;
m=n;
while ((m0)(fabs(a[m])+1.0==1.0)) m=m-1;
if (m=0)
{
cout \n程序工作失败! endl;
return;
}
for (i=0; i=m; i++) a[i]=a[i]/a[m];
for (i=0; i=m/2; i++)
{
w=a[i]; a[i]=a[m-i]; a[m-i]=w;
}
k=m; is=0; w=1.0;
jt=1;
while (jt==1)
{
pq=fabs(a[k]);
while (pq1.0e-12)
{
xr[k-1]=0.0; xi[k-1]=0.0; k=k-1;
您可能关注的文档
最近下载
- 2025年危险品水路运输从业资格考试复习题库资料(浓缩500题).pdf
- 标准图集-苏S13-2022 预制混凝土排水检查井.pdf VIP
- T/CSWSL 036-2024N-酰基高丝氨酸内酯酶.pdf
- 2025至2030中国宫颈癌疫苗行业市场占有率及投资前景评估规划报告.docx VIP
- 2025至2030汽车防爆膜行业市场占有率及投资前景评估规划报告.docx VIP
- 2025至2030热熔线标涂料行业市场发展分析及投资前景报告.docx VIP
- 2021年禁毒社工招聘考试试题.doc VIP
- 医院病理技师礼仪与病理诊断.pptx VIP
- 2021年度禁毒社工招聘考试试题.doc VIP
- 《十二公民》剧本.docx VIP
文档评论(0)