欢迎来到天天文库
浏览记录
ID:39273487
大小:50.65 KB
页数:10页
时间:2019-06-29
《牛顿法和割线法》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、作业十(第五章):1.在区间(0,1.5)上分别用二分法、牛顿法和割线法编程求下面的函数的零点,精度要求10-10。二分法function[X]=bisection(fx,xa,xb,n,delta)%二分法解方程%fx是由方程转化的关于x的函数,有fx=0。%xa解区间上限%xb解区间下限%解区间人为判断输入%n最多循环步数,防止死循环。%delta为允许误差x=xa;fa=eval(fx);x=xb;fb=eval(fx);fori=1:nxc=(xa+xb)/2;x=xc;fc=eval(fx);X=[i,xc,fc];iffc*fa<0xb=xc;elsexa=xc;end
2、if(xb-xa)mfprintf('牛顿法迭代M次没有找到方程的根')returnendx0=x1;endfprintf('%s%.4f
3、t%s%d','X=',X,'k=',k)%输出结果牛顿法结果:迭代5次结果0.5149割线法:function[X]=gx9(fx,x0,x1,m,e)x=x0;f0=eval(fx);x=x1;f1=eval(fx);ifabs(f0)<=eX=[x0,f0];endfork=2:mifabs(f0)4、果:迭代7次结果0.51492.编程求下面的函数在区间[0,13]上的所有零点,精度要求10-10。提示:先扫描得到解所在区间,再用迭代法求解。function[X]=scan(a,b,fx)x=a;y0=eval(fx);m=100000;e=10^-10;fork=0:0.01:13x=x+k;y1=eval(fx);ify1==0X=x;disp(X);returnendify0*y1>0y0=y1;continueendx0=x-k;x1=x;[X]=gx9(fx,x0,x1,m,e);%割线法ifx>bX=x;disp(X);returnendy0=y1;end%%%%%5、%%%%%%%%%%%function[X]=gx9(fx,x0,x1,m,e)x=x0;f0=eval(fx);x=x1;f1=eval(fx);ifabs(f0)<=eX=[x0,f0];endfork=2:mifabs(f0)
4、果:迭代7次结果0.51492.编程求下面的函数在区间[0,13]上的所有零点,精度要求10-10。提示:先扫描得到解所在区间,再用迭代法求解。function[X]=scan(a,b,fx)x=a;y0=eval(fx);m=100000;e=10^-10;fork=0:0.01:13x=x+k;y1=eval(fx);ify1==0X=x;disp(X);returnendify0*y1>0y0=y1;continueendx0=x-k;x1=x;[X]=gx9(fx,x0,x1,m,e);%割线法ifx>bX=x;disp(X);returnendy0=y1;end%%%%%
5、%%%%%%%%%%%function[X]=gx9(fx,x0,x1,m,e)x=x0;f0=eval(fx);x=x1;f1=eval(fx);ifabs(f0)<=eX=[x0,f0];endfork=2:mifabs(f0)
此文档下载收益归作者所有