数值分析实验报告(一)-胡志远-1-22

数值分析实验报告(一)-胡志远-1-22

ID:44195518

大小:127.61 KB

页数:5页

时间:2019-10-19

数值分析实验报告(一)-胡志远-1-22_第1页
数值分析实验报告(一)-胡志远-1-22_第2页
数值分析实验报告(一)-胡志远-1-22_第3页
数值分析实验报告(一)-胡志远-1-22_第4页
数值分析实验报告(一)-胡志远-1-22_第5页
资源描述:

《数值分析实验报告(一)-胡志远-1-22》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、数值分析实验报告(一)2010级信息与计算科学-1胡志远20100810010122实验名称熟悉二分法求方程近似根的数值方法。二.实验目的二分法迭代求非线性方程的根三、题目1•已知/(x)=x3+4x2-10=0在[1,2]上有一个实根T,/(I)=-5,/(2)=14用二分法求该实根,要求精度满足条件:四、源程序#include#include#include〃根据X的值计算函数值〃函数f(x)=x*x*x+4*x*x・10doublefunc(doublex){doublevalue;value=x*x*x+

2、4*x*x・10;returnvalue;〃根据参数x的值计算函数f(x)的导数值doubledivFunc(doublex){return3*x*x+8*x;〃二分法计算方程f(x)=0在[1,2]上的跟〃二份迭代结束条件由参数precision精度给出voidbiSectionMethod(doubleprecision){intk=0;〃均分次数doublexl=1.0,x2=2.0;〃区间[1.0,2.0]doublemidx;〃二分之后的值f(x(k+l))“);printf(Htk有根区间k+ldoprintf(nt%3dH,k);prin

3、tf("[%.3f,%.3fT,xl,x2);midx=(xl+x2)/2;printf(H%fmidx);printf(H%.6f',func(midx));if(func(midx)<0)xl=midx;elsex2=niidx;k++;if(k%3==0)〃每次输出4个等用户审查getch();}while(x2-xImprecision);〃区间的长度超过5e-3就一直迭代printf(Ht二分法分区间的次数:%d,所求的根是:%f,k・l,x2);〃牛顿迭代法〃根据初值值xO,在区间[1.0,2.01上迭代求根〃迭代次数由参数precision精

4、度决定voidNewTonMethod(doublex0,doubleprecision){intk=0;〃迭代次数doublexl,x2=x0;printf(Htkx(k)f(x(k))

5、x(k+l)・x(k)「);do{printf(nt%2dn,k);printf(H%.6fx2);printf(”%.6f*,func(x2));xl=x2;x2=x2-func(x1)/divFunc(x1);讦(x2-xl>0)printf(n%.6fx2-xl);〃输li两次迭代的差值elseprintf(”%.6f*,xl-x2);k++;if(k%

6、3==0)〃每次输出4个等用户审查getch();}while(x2-x1>precision

7、

8、x1-x2>precision);printf(ut牛顿迭代初值:%lf,次数:%d,所求的根是:%f,x0,k・l,x2);}〃迭代函数g(x)=(sqrt(10-x*x*x))/2;doublefuncTwo(doublex)return(sqrt(10-x*x*x))/2;〃普通迭代函数voidordinaMethod(doublexO,doubleprecision){intk二0;〃迭代次数doublex1,x2=x0;printf(Htkx(k

9、)f(x(k))

10、x(k+l)・x(k)

11、”);do{printf(Ht%2dH,k);printf(H%.6fx2);printf(H%.6f',func(x2));xl=x2;x2=funcTwo(xl);if(x2-xl>0)printf(n%.6fx2-x1);〃输岀两次迭代的差值elseprintf("%.6f*,xl-x2);k++;if(k%3==0)〃每次输出4个等用户审查getch();}while(x2-x1>precision

12、

13、x1-x2>precision);printf(ut普通迭代初值:%lf,次数:%d,所求的根是:

14、%f,x0,k・l,x2);}〃使用两个跌代值的组合加速跌代〃对迭代函数f(x)=(sqrt(10-x*x*x))/2的加速voidtwoValue(doublex0,doubleprecision){intk=0;〃迭代次数doublexl,x2=x0;printf(Htkx(k)f(x(k))

15、x(k+1)・x(k)

16、”);do{printf(Ht%2d,,,k);printf(n%.6fx2);printf(H%.6ffunc(x2));xl=x2;x2=(funcTwo(xl)+xl)/2;if(x2-xl>0)printf(n%.6fx

17、2-x1)

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。