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

《二分法及其matlab程序-经典.ppt》由会员分享,可在线阅读,更多相关《二分法及其matlab程序-经典.ppt(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.,* 次数:1357533 已用完,请联系开发者。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值