资源描述:
《【精品】数值分析课程设计》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、附件1:学号:课程设计题目对求解方程实根的研究学院理学院专业信息与计算科学班级信计0801姓名指导教师2010年7月10日附件2:课程设计任务书学生姓名:专业班级:信计0801指导教师:工作单位:武汉理工大学题目:对求解方程实根的研究初始条件:每次把门兀)的零点所在小区间收缩一半,使区间的两个端点逐步迫近函数的零点,以求得零点的近似值,这种方法叫做二分法•方程的求根通常分为两个步骤,一是根的搜索,找出有根区间;二是根的精确化,求得根的足够精确近似值•找出有根区间的方法通當采用定步长搜索法.用这一办法可以粗
2、略进行根的隔离.要求完成的主要任务:(包括课程设计工作最及其技术要求,以及说明书撰写等具体要求)用二分法和牛顿迭代法(包括弦截法)编程求方程心-亍。的实根,要求误差不超过1CT4。输出迭代次数,初始值和根的近似值;再构造不同的迭代函数,用迭代法求解,并进行比较。时间安排:选题:2天查资料:4天写论文:4天指导教师签名:系主任(或责任教师)签名:对求解方程实根的研究摘要:木文主要通过借助求解方程实根,通过对二分法、牛顿迭代法、弦截法和不动点迭代法求解过程进行比较研究,通过程序改进得出分析结果,比较了各种迭代
3、法求解方程实根的速度。Abstract:Thispaperbysolvingtheequationwithrealroots,bydichotomy,Newtoniteration,secantmethodandfixedpointiterationmethodforsolvingacomparativestudyoftheprocess,theresultsobtainedthroughprocessimprovement,andcompareddifferentDiegoSolvingequation
4、sonbehalfofthespeedofrealroots.关键词:程序,迭代,次数,速度Keywords:program,iterative,frequency,speed引言:在科学研究和工程设计中,经常会遇到的一大类问题是求解方程f(x)二0的实根.方程f(x)=0的根,亦称为函数f(x)的零点.一般稍微复杂的3次以上的代数方程或超越方程,很难其至无法求得精确解。本文将介绍常用的求解方程的近似根的几种数值解法.主要通过借助求解方程实根,通过对二分法、牛顿迭代法、弦截法和不动点迭代法求解过程进行比较
5、研究,通过程序改进得岀分析结果,比较了各种迭代法求解方程实根的速度。木文介绍方程的迭代解法,它既可以用来求解代数方程,也可以用来解超越方程,并且仅限于求方程的实根。1问题叙述:V2求解sinx-—=0的解;通过编写程序分别用二分法和牛顿迭代法(包括弦截法)求解方程,通过各种方法的比较,分析各方法求解方程的快慢程度。2问题分析:由matlab画图命令,容易得到此方程解的范围为(-1,2);两种迭代方法,在使用相同的误差(0.0001)的情况下,得出matlab迭代次数,通过次数的比较得出求解速度快慢比较。(
6、画图命令:fun.m的M文件:functiony=fun(x)y=sin(x)-x.A2./2;命令区间输入:x=-10:0.01:10;plot(x,fun(x),'r,)holdonplot(x,zeros(size(x)))holdoffgrid)3试验程序及注释:3.3.1二分法程序:%数据显示格式设为长型;%求解区间;%误差分析;%二分法求解程序;f=inline(,sin(x)-x.A2./2,);formatlonga=-l;b=2;er=b-a;ya=f(a);k=0;er0=0.0001
7、;whileer>erOx0=.5*(a+b);y0=f(x0);ifya*y0v0b=x0;elsea=x0;ya=y0;enddisp([a,b]);er=b-a;k=k+1enddisp([a,b]);牛顿迭代法程序:f=inline(,sin(x)-x.A2./2,);formatlongb=-l;a=2;k=0;yO=f(b);y=f(a);whileabs(b-a)>0.0001t=a-y*(a-b)/(y-yO);b=a;yO=y;a=t;y=f(a);k=k+l;disp([b,a]);k
8、enddisp([b,a]);3.3.3弦截法程序:f=inline(,sin(x)-x.A2./2,);formatlongb=l;a=2;x(l)=b;x(2)=a;fork=2:10%显示各个区间值和迭代次数;%显示最后一个区间值;%数据显示格式设为长型;%求解区间;%牛顿迭代法求解程序;%显示各个区间值和迭代次数;%显示最后一个区间值;%数据显示格式设为长型;%求解区间;x(k+1)=x(k)-f(x(k))*(x(k