二分法matlab程序.doc_第1页
二分法matlab程序.doc_第2页
二分法matlab程序.doc_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

计算方法数值实验报告班级090712学号43姓名潘骁磊实验室 3-128设备编号B01日期2012-6-5实验题目编写二分法方法的MATLAB主程序并验算书本P-112(1)1、实验目的:通过编程实现二分法方法,加深对求根方法的理解。应用所编程序解决实际算例。2、实验要求:(1)认真分析课题要求,复习相关理论知识,选择适当的解决方案;(2)上机实验程序,做好上机前的准备工作;(3)调试程序,记录计算结果;(4)分析和解释计算结果;(5)按照要求书写实验报告。3、实验内容:(1)算法原理或计算公式 二分法的基本思路是通过计算隔根区间的中点,逐步将隔根区间缩小,从而可得方程的近似根数列。(2)程序设计思路二分法原理:不妨设方程在隔根区间上.(1)将区间二分得中点,计算在中点的函数值,若,则就是方程的根;否则,若,由于在内不变号,所以隔根区间变为.同理,若, 隔根区间变为.将新区间记为.(2)将重复上述步骤(1).得到一系列隔根区间:并有,且后一区间的长度都是前一区间长度的一半,所以的长度为,区间的长度趋向于零,即这些区间最终收缩于一点,显然就是方程的根。(2)算法程序: %二分法主程序%function erfen(f,a,b,m)t=b-a;f1=0;k=1;while(abs(t/2(k+1)=m) x=(a+b)/2; if f(x)=0 disp(x的精确值为); fprintf(%f,%dn,x,k);return else if sign(f(x)=sign(f(a) a=(a+b)/2; else b=(a+b)/2; end end k=k+1;endif f(x)=0 k (a+b)/2 disp(x的近似值为) f(a+b)/2)end命令窗口输入:f=(x)x4-3*x+1;a=0.3;b=0.4;m=0.005;erfen(f,a,b,m)输出:k = 4ans = 0.3438x的近似值为 -0.01734、实验小结体会:通过编程实现二分法和方法,我加深了对线性方程组数值算法的理解。从两个实例的对比中我们可以看到,高斯消去法相比雅可比迭代法解虽然更为精确,但该方法计算步骤繁琐,耗时长,在解决低阶稠密矩阵方程组时比较适用

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论