資源描述:
《二分法,不動(dòng)點(diǎn)迭代法,艾特肯加速迭代法,牛頓切線法的matlab程序及舉例》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫(kù)。
1、§2.1.1二分法的MATLAB主程序function[k,x,wuca,yx]=erfen(a,b,abtol)a(l)=a;b(l)=b;ya二fun(a(l));yb二fun(b(1));%程序中調(diào)用的fun.m為函數(shù)ifya*yb〉0,dispC注意:ya*yb〉0,請(qǐng)重新調(diào)整區(qū)間端點(diǎn)a和b.’),returnendmaxl=-l+ceil((log(b~a)-log(abtol))/log(2));%ceil是向+OO方向取整fork=l:maxl+1a;ya=fun(a);b;yb=fun(b);
2、x=(a+b)/2;yx=fun(x);wuca=abs(b~a)/2;k=k_l;[k,a,b,x,wuca,ya,yb,yx]ifyx==0a=x;b=x;elseifyb氺yx>0b=x;yb=yx;elsea=x;ya=yx;endifb~a3、ori=l:ddmaxx(i+1)=fun(x(i));piancha=abs(x(i+l)-x(i));xdpiancha=piancha/(abs(x(i+1))+eps);i=i+l;xk=x(i);yk=fun(x(i));[(i~l)pianchaxdpianchaxkyk]if(piancha4、(xdpiancha5、i));[(i~l)pianchaxdpianchaxkyk];return;endP=[(i-1),piancha,xdpiancha,xk,yk]'§2.1.3艾特肯加速迭代法的MATLAB主程序function[k,xk,yk,p]=Aitken(xO,tol,ddmax)x(l)=xO;fori=l:ddmaxxl(i+l)=fun(x(i));x2(i+l)=fun(xl(i+1));x(i+1)=x2(i+1)-(x2(i+1)-xl(i+1))^2/(x2(i+l)-2*xl(i+l)+x⑴);
6、piancha=abs(x(i+1)_x(i));xdpiancha=piancha/(abs(x(i+1))+eps);i=i+l;xk=x(i);yk=fun(x(i));if(piancha7、(xdpiancha8、-1];p=[m’,xl’,x2’,x’]return;endm=[0,1:i—1];p=[m’,xl’,x2’,x’];§2.1.4牛頓切線法的MATLAB主程序function[k,xk,yk,piancha,xdpiancha]=newtonqx(xO,tol,ftol,gxmax)x(l)=xO;fori=l:gxmaxx(i+1)=x(i)-fun(x(i))/(dfun(x(i))+eps):piancha=abs(x(i+1)-x(i));xdpiancha=piancha/(abs(x(i+1
9、))+eps);i=i+l;xk=x(i);yk=fun(x(i));[(i-1)xkykpianchaxdpiancha]if(abs(yk)10、(xdpiancha11、l),xk,yk,piancha,xdpiancha]’;例1.1:確定方程/-^+4=0的實(shí)根的分布情況,并用二分法求在開區(qū)間(_2,-1)內(nèi)的實(shí)根的近似值,要求精度為0.001.解1.保存如下的M文件:functiony=fun(x)y=x^3-x+4;2.在工作窗口輸入命令>>[k,x,wuca,yx]=erfen(—2,—1,0.001)運(yùn)行后其余結(jié)果為k=9,x=-1.7959,wuca=