资源描述:
《数值分析二分法实验》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、数值分析实验-二分法RoJ2011.10.15用二分法求的正根(精确到小数点后3位)1.绘制函数图形>>ezplot('x^3+x^2-3*x-3',[-2,2])>>gridon2.可见-1为一个根,另外两个根分别在-1.5和1.5左右,确定这两个根:>>fzero('x^3+x^2-3*x-3',-1.5)ans=-1.7321>>fzero('x^3+x^2-3*x-3',1.5)ans=1.7321(正根)3.根号3的15位精确值(>>formatlong>>sqrt(3)ans=1.732050807568877)二分法实现程序1(bisect.m)%二分法(Bisec
2、tionMethod)%fun为f(x)的表达式%[a,b]为求根区间%tol为精度%x为近似根%k为迭代次数function[x,k]=bisect(fun,a,b,tol)fa=feval(fun,a);fb=feval(fun,b);%求区间端点的函数值iffa*fb>0disp('[a,b]不包含根');return;endk=0;%二分迭代次数置初值whileabs(b-a)/2>tol%当区间分半后长度小于等于给定精度,退出循环体x=(a+b)/2;fx=feval(fun,x);%求区间中点函数值iffx*fa<0%判断两端点处函数值符号,做二分b=x;fb=fx;
3、%根在[a,x]内elsea=x;fa=fx;%根在[x,b]内endk=k+1;%二分次数增加1endx=(a+b)/2;%满足精度的根运行结果:>>f=inline('x^3+x^2-3*x-3');>>[x,k]=bisect(fun,1,2,1e-3)x=1.7314k=10注:该程序结果是在可接受的范围内,两句在命令窗口的执行语句也可作为一个主程序存在一个文件中。如命名为bisexam.m,其内容为:f=inline('x^3+x^2-3*x-3');[x,k]=bisect(fun,1,2,1e-3)运行:>>bisexam和上面得到同样的结果二分法实现程序2
4、function[c,err,yc]=bisect(f,a,b,delta)%MatlabProgramsbyJohnH.MathewsandKurtisD.Fink,其参数注省略ya=feval(f,a);yb=feval(f,b);ifya*yb>0,endmax1=1+round((log(b-a)-log(delta))/log(2));%由定理2-4确定最大迭代次数fork=1:max1c=(a+b)/2;yc=feval(f,c);ifyc==0a=c;b=c;elseifyb*yc>0b=c;yb=yc;elsea=c;ya=yc;endifb-a5、eak,endendc=(a+b)/2;err=abs(b-a);yc=feval(f,c);注:round(x),朝最近方向取整例如:>>round(-1.2),结果为-1>>round(1.2),结果为1运行结果:>>erfenfac=1.7319(满足精度的解)err=9.7656e-004(误差)yc=-0.0011(在近似解处的函数值)注:该例若显示迭代次数,也是10次,显然,结果要好于程序1。Format命令只影响数据输出格式,对Matlab的内部计算和数据存储的数值精度不产生任何影响。用户可以用format命令设置或改变数据输出格式。例如,若输入》x=[4/31.2
6、345e–6]那么,在不同的输出格式下的输出为》formatshort1.33330.0000》formatshorte1.3333e+001.2345e–06》formatlong1.3333333333330.00000123450000asin反正弦函数。acos反余弦函数。atan反正切函数。sinh双曲正弦函数。cosh双曲余弦函数。tanh双曲正切函数。sqrt方根函数。real复数的实部。imag复数的虚部。round最邻近整数截断(四舍五入)。floor不大于自变量的最大整数。ceil不小于自变量的最小整数。exp自然指数函数(以e为底)。log自然对数函数(以e
7、为底)。Matlab的部分常用数学函数besselBessel函数。beta完全与不完全Beta函数。gamma完全与不完全。rat有理逼近。erf误差函数。inv(A)方阵A的逆矩阵。lu(A)矩阵A的列主元LU分解。det(A)求方阵A的行列式的值。fmin单变量函数的极小值。fmins多变量函数的极小值(无约束非线性优化)。fzero求单变量函数的零点。plot二维绘图,是将所给点列的相邻两点之间用直线连接。plot3三维空间绘图。mesh绘制三维网络曲面,三维消隐图。su