收藏 分享(赏)

二分法及其matlab程序-经典.ppt

上传人:weiwoduzun 文档编号:5735852 上传时间:2019-03-15 格式:PPT 页数:7 大小:443KB
下载 相关 举报
二分法及其matlab程序-经典.ppt_第1页
第1页 / 共7页
二分法及其matlab程序-经典.ppt_第2页
第2页 / 共7页
二分法及其matlab程序-经典.ppt_第3页
第3页 / 共7页
二分法及其matlab程序-经典.ppt_第4页
第4页 / 共7页
二分法及其matlab程序-经典.ppt_第5页
第5页 / 共7页
点击查看更多>>
资源描述

1、三. 二分法及其MATLAB程序,1. 用二分法求方程 f(x)=0的根 x*的近似值 xk 的步骤,步骤1.,若对于ab, 有f(a)f(b)0, 则在(a, b)内f(x)=0至少有一个根.,步骤2.,步骤3.,取a1=a, b1=x1;,运行后输出结果x*=x1.,1. 用二分法求方程 f(x)=0的根 x*的近似值 xk 的步骤,步骤1.,若对于ab, 有f(a)f(b)0, 则在(a, b)内f(x)=0至少有一个根.,步骤2.,取a, b的中点,计算,步骤3.,若,则x1是f(x)=0的根, 停止计算,若,则在(a, x1 )内f(x)=0至少有一个根.,取a1=a, b1=x1;

2、,若,则取a1=x1, b1=b;,步骤4.,若,退出计算,运行后输出结果x*=x1.,运行后输出结果,反之, 返回步骤1, 重复步骤1,2,3.,2. 二分法的matlab主程序,求解方程f(x)=0在开区间(a,b)内的一个根的前提条件是f(x)在闭区间a,b上连续, 且f(a)f(b)0.,输入的量: a和b是闭区间a,b的左右端点, abtol是预先给定的精度.,运行后输出的量: k是使用二分法的次数. x是方程在(a,b)内的实根x*的近似值, 其精度是abtol.,wuca=|bk-ak|/2是使用k次二分法所得到的小区间的长度的一半, 即实根x*的近似值x的绝对精度限, 满足wu

3、caabtol. yx=f(xk), 即方程f(x)=0在实根x*的近似值x处的函数值.,2. 二分法的matlab主程序,function k,x,wuca,yx=erfen(a,b,abtol) a(1)=a; b(1)=b; ya=fun(a(1); yb=fun(b(1); %程序中调用的fun.m 为函数 if ya* yb0, disp(注意:ya*yb0,请重新调整区间端点a和b.), return end max1=-1+ceil(log(b-a)- log(abtol)/ log(2);,for k=1: max1+1 a;ya=fun(a); b;yb=fun(b); x=

4、(a+b)/2; yx=fun(x); wuca=abs(b-a)/2; k=k-1; k,a,b,x,wuca,ya,yb,yx if yx=0 a=x; b=x; elseif yb*yx0 b=x;yb=yx; else a=x; ya=yx; end if b-a abtol , return, end end k=max1; x; wuca; yx=fun(x);,% ceil是上取整,例: 确定方程x3-x+4=0的实根的分布情况,并用二分法求在开区间 (-2,-1)内的实根的近似值,要求精度为0.001.,3. 用二分法求解方程f(x)=0在 (a,b)内的近似根的步骤,步骤1.

5、,建立名为fun.m的M文件如:,步骤2.,步骤3.,在matlab工作窗口输入程序:,其中输入的量: 区间端点的值a, b和精度是abtol都是具体给定的数值, 然后按运行键. 运行后输出计算次数k、使用k次二分法所得到的小区间ak, bk的中点的值x和它的函数值y(x)及wuca=|bk-ak|/2.,function y1=fun(x)y1=f(x);,将二分法的主程序保存名为erfen.m的M文件;,k, x, wuca, yx=erfen(a, b, abtol),练习: 确定方程 3x2-ex=0 的实根的分布情况,并用二分法求在开区间 (-1, 0)内的实根的近似值, 要求精度为0.0005.,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报