好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

数值计算--二分法-----实验报告.doc

2页
  • 卖家[上传人]:lil****ar
  • 文档编号:274813241
  • 上传时间:2022-04-09
  • 文档格式:DOC
  • 文档大小:101.50KB
  • / 2 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 《计算方法》数值实验报告班级090711学号43姓名杨树成实验室3-102设备编号07日期2012.06.01实验题目编写二分法的MATLAB主程序并验算书P112的第1题1、实验目的:通过编程实现二分法,加深对二分算法的理解应用所编程序解决实际算例2、实验要求:(1)认真分析课题要求,复习相关理论知识,选择适当的解决方案;(2)上机实验程序,做好上机前的准备工作;(3)调试程序,记录计算结果;(4)分析和解释计算结果;(5)按照要求书写实验报告3、实验内容:(1)算法原理或计算公式 二分法的基本思路是通过计算隔根区间的中点,逐步将隔根区间缩小,从而可得方程的近似根数列2)程序设计思路step1: 设为连续函数,又设方程的隔根区间为,为确定起见,设二分法的做法就是先将区间二分得中点,将分为两个相等区间,计算在中点的函数值若=0,则就是方程的根;否则,若,由于在左半区间内不变号,所以方程的隔根区间变为同理,若,则方程的隔根区间变为,将新的隔根区间记为Step 2: 将二分,重复上述过程,又得到新的隔根区间,这样不断作下去,就得到一系列隔根区间:并有,,且后一区间的长度都是前一区间长度的一半,所以的长度为。

      当时,区间的长度必趋于零,即这些区间最终收缩于一点,显然就是方程的根3)源程序function [k,x,wuca,yx]=erfen(a,b,abtol)a(1)=a; b(1)=b; ya=fun(a(1)); yb=fun(b(1)); if ya* yb>0, disp('注意:ya*yb>0,请重新调整区间端点a和b.'), returnendmax1=-1+ceil((log(b-a)- log(abtol))/ log(2)); for k=1: max1+1a;ya=fun(a); b;yb=fun(b); x=(a+b)/2; yx=fun(x); wuca=abs(b-a)/2; k=k-1;[k,a,b,x,wuca,ya,yb,yx]if yx==0a=x; b=x;elseif yb*yx>0b=x;yb=yx;elsea=x; ya=yx;endif b-a< abtol , return, endendk=max1; x; wuca; yx=fun(x);(4)运行结果a=0.3b=0.4abtol=0.5e-2 x = 0.33906, yx = -0.00397 4、实验小结体会:1、进一步加深了对二分法的理解与应用的能力。

      2、在运用MATLAB的过程中,通过对for循环结构的运用,帮助我复习了上学期所学的MATLAB程序结构让我对顺序、选择、循环三种程序结构有了更好的认识,进一步巩固运用MATLAB编程的能力。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.