欢迎来到天天文库
浏览记录
ID:41738619
大小:208.93 KB
页数:7页
时间:2019-08-31
《熟悉用二分法,迭代法,牛顿法和弦截法求解非线性方程》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、人清评4大孝实验报告学院(系)名称:计算机与通信工程姓名赵云鹏学号20091931专业计算机科学与技术班级09-1实验项目实验一方程求根课程名称数值计算方法课程代码实验时间2011年5月26日实验地点#7-215批改意见:实验目的:熟悉用二分法,迭代法,牛顿法和弦截法求解非线性方程。实验环境:硬件环境:IBM-PC或兼容机成绩软件环境:Windows操作系统编程语言:C语言实验内容:1、用二分法求方程x2-x-l=0的正根,要求准确到小数点后第一位2用迭代法和牛顿法求解方程x=e-x在x=0.5附近的一个根,要求精确到小数点后三位3用双点弦截法求方程x3+3x2-x-9二0在区
2、间[1,2]内的一个实根,精确到五位有效数字。教师签字:实验步骤:二分法:牛顿法:双点弦截法:■用二分法求方程x2-x-l=0的正根,要求准确到小数点后第一位#include#include#defineADJUST10.01//defineADJUST20.001#defineEX0.000001#defineINF999999999.99doublefuncl(doublex)〃二分法求的方程{return(x*x-x-l);}doublefunc2_l(doublex)〃迭代法的方程returnexp(-x);doubleresl(dou
3、blea,doubleb,double(*funl)(doublex))〃二分法doublefa=funl(a);doublefb=funl(b);doublefmid=funl((a+b)/2);while(fabs(b-a)>=ADJUSTl){if(fabs(fmid-Oa)4、);}}return(a+b)/2;}intmain(){printf(吆.2f”jesl(0,100,funcl));printf(,,%.2f,,zfunc2_l(-l));return0;}卜'"D:P「og「&mFilGsMic「O£oftHisuj1.622.72Pressanykeytocontinue■用迭代法和牛顿法求解方程x=e-x在x=0.5附近的一个根,要求精确到小数点后三位#include#inelude#defineADJUST10.01#defineADJUST20.001#defineEX0.000005、1#defineINF999999999.99doublefunc2_l(doublex)〃迭代法的方程{returnexp(-x);}doubleres2(doublexO,doublee,intn,double(*fun)(doublex))〃迭代法,迭代失败标志,输出Fail!,并返回INF{intk=l;doublexl;xl=fun(xO);while(k!=n){if(fabs(xl-xO)6、%.3f,,/res2(0.5,0.001,100/func2_l));//q2.1printf("%.3f"?func2_l(0.567));//fortestreturn0;}用双点弦截法求方程%3+3x2-x-9=0在区间[1,2]内的一个实根,精确到五位有效数字#include#ineludetfdefineADJUST10.01#defineADJUST20.001#defineEX0.000001#defineINF999999999.99doubledfunc2_2(doublex)〃牛顿法方程导数{return(O-ex7、p(-x)-l);}doublefunc2_2(doublex)〃牛顿法方程{returnexp(-x)-x;}doubleres3(doublexO,doublee,intn,double(*fun)(doublex)zdouble(*dfun)(doublex))〃牛顿迭代法,奇异标志为返回INF,失败标志为返回INF,并输出Fail!{intk=l;doublexl;if(fabs(dfun(xO)-O)
4、);}}return(a+b)/2;}intmain(){printf(吆.2f”jesl(0,100,funcl));printf(,,%.2f,,zfunc2_l(-l));return0;}卜'"D:P「og「&mFilGsMic「O£oftHisuj1.622.72Pressanykeytocontinue■用迭代法和牛顿法求解方程x=e-x在x=0.5附近的一个根,要求精确到小数点后三位#include#inelude#defineADJUST10.01#defineADJUST20.001#defineEX0.00000
5、1#defineINF999999999.99doublefunc2_l(doublex)〃迭代法的方程{returnexp(-x);}doubleres2(doublexO,doublee,intn,double(*fun)(doublex))〃迭代法,迭代失败标志,输出Fail!,并返回INF{intk=l;doublexl;xl=fun(xO);while(k!=n){if(fabs(xl-xO)6、%.3f,,/res2(0.5,0.001,100/func2_l));//q2.1printf("%.3f"?func2_l(0.567));//fortestreturn0;}用双点弦截法求方程%3+3x2-x-9=0在区间[1,2]内的一个实根,精确到五位有效数字#include#ineludetfdefineADJUST10.01#defineADJUST20.001#defineEX0.000001#defineINF999999999.99doubledfunc2_2(doublex)〃牛顿法方程导数{return(O-ex7、p(-x)-l);}doublefunc2_2(doublex)〃牛顿法方程{returnexp(-x)-x;}doubleres3(doublexO,doublee,intn,double(*fun)(doublex)zdouble(*dfun)(doublex))〃牛顿迭代法,奇异标志为返回INF,失败标志为返回INF,并输出Fail!{intk=l;doublexl;if(fabs(dfun(xO)-O)
6、%.3f,,/res2(0.5,0.001,100/func2_l));//q2.1printf("%.3f"?func2_l(0.567));//fortestreturn0;}用双点弦截法求方程%3+3x2-x-9=0在区间[1,2]内的一个实根,精确到五位有效数字#include#ineludetfdefineADJUST10.01#defineADJUST20.001#defineEX0.000001#defineINF999999999.99doubledfunc2_2(doublex)〃牛顿法方程导数{return(O-ex
7、p(-x)-l);}doublefunc2_2(doublex)〃牛顿法方程{returnexp(-x)-x;}doubleres3(doublexO,doublee,intn,double(*fun)(doublex)zdouble(*dfun)(doublex))〃牛顿迭代法,奇异标志为返回INF,失败标志为返回INF,并输出Fail!{intk=l;doublexl;if(fabs(dfun(xO)-O)
此文档下载收益归作者所有