下载此文档

弦截法非线性方程求解.doc


文档分类:高等教育 | 页数:约9页 举报非法文档有奖
1/9
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/9 下载此文档
文档列表 文档介绍
专业资料参考首选《 MATLAB 程序设计实践》课程考核一、, 编程实现以下科学计算算法, 并举一例应用之。( 参考书籍《精通 MATLA B 科学计算》,王正林等著,电子工业出版社, 2009 年) “弦截法非线性方程求解” 1 、算法说明:弦截法的算法过程如下: (1)过两点(a,f(a)),(b,f(b)) 作一直线,它与 x轴有一个交点,记为 x1.. (2)如果 f(a)f(x1)<0, 过两点(a,f(a)),(x1,f(x1)) 作一直线,它与 x 轴的交点记为 x2, 否则过两点(b,f(b)),(x1,f(x1)) 作一直线,它与 x 轴的交点记为 x2; (3)如此下去,直到|xn-xn-1|< ?,就可以认为 xn为 f(x)=0 在区间[a,b] 上的一个根。( 4) Xk 的递推公式为: ??????????????????????????????0)()( ),()()( 0)()( ),()()( 1 1 1 1 1 1kk kk kk kkxfafbfbfxf bxbx xfafafafxf axax 且)()()( 1afafbf abax????在 MATLAB 中编程实现的弦截法的函数为: Secant. 功能:用弦截法求函数在某个区间的一个零点。调用格式: root=Secant(f,a,b,eps). 其中, f为函数名; a为区间左端点; b为区间右端点; eps 为根的精度; root 为求出的函数零点。 2 、流程图: 专业资料参考首选 f(a)f(x 1 )<0? YES (a,f(a)),(x 1, f(x 1 )) 作一直线,它与 x 轴的交点记为 x 2 NO (b,f(b)),(x 1, f(x 1 )) 作一直线,它与 x 轴的交点记为 x 21 * ( ) ( ) ( ) kkk x a x a f a f x f a ??? ?? 1 * ( ) ( ) ( ) kkk x a x b f b f x f b ??? ??? 1????xx kk? 1????xx kk YES YES 输出 x n为 f(x)=0 在区间[a,b] 上的一个根输出 x n为 f(x)=0 在区间[a,b] 上的一个根过(a,f(a)),(b,f(b)) 作一直线,它与x 轴有一个交点,记为 x 1. 输入 a,b,?xx kk1?? NOxx kk1?? NO 3、 M文件: function root=Secant(f,a,b,eps) %弦截法求函数 f在区间[a,b] 上的一个零点%函数名: f%区间左端点: a%区间右端点: b%根的精度: eps %求出的函数零点: root if(nargin==3) eps=-4; end f1=subs(sym(f),findsym(sym(f)),a); f2=subs(sym(f),findsym(sym(f)),b); 专业资料参考首选 if(f1==0) root=a; end if(f2==0) root=b; end if(f1*f2>0) disp(' 两端点函数值大于 0!'); return; else tol=1; fa=subs(sym(f),findsym(sym

弦截法非线性方程求解 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数9
  • 收藏数0 收藏
  • 顶次数0
  • 上传人w3332654
  • 文件大小0 KB
  • 时间2016-05-28
最近更新