求根的方法二分法,迭代法,牛顿法,割线法,米勒.docVIP

求根的方法二分法,迭代法,牛顿法,割线法,米勒.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
本章主要介绍方程根的有关概念,求方程根的步骤,确定根的初始近似值的方法(作图法,逐步搜索法等),求根的方法(二分法,迭代法,牛顿法,割线法,米勒(Müller)法和迭代法的加速等)及其MATLAB程序,求解非线性方程组的方法及其MATLAB程序. 2.1 方程的根及其MATLAB命令 2.1.2 求解方程(组)的solve命令 求方程f(x)=q(x)的根MATLAB命令 x=solve(方程f(x)=q(x)’待求符号变量x’) 求方程组fi(x1,…,xn)=qi(x1,…,xn) (i=1,2,…,n)的根MATLAB命令E1=sym(方程f(x1,…,xn)=q1(x1,…,xn)); ……………………………………………………. En=sym(方程f(x1,…,xn)=qn(x1,…,xn)); [x1,x2,…,xn]=solve(E1,E2,…,En, x1,…,xn) 2.1.3 求解多项式方程(组)的roots命令 如果为多项式,则可分别用如下命令求方程的根,或求导数(见表 2-1). 表 2-1 求解多项式方程(组)的roots命令 命 令 能 xk =roots(fa) 输入多项式的系数fa(按降幂排列),运行后输出xk为的全部根. dfa=polyder(fa) 输入多项式的系数fa(按降幂排列),运行后输出dfa为多项式的导数的系数. dfx=poly2sym(dfa) 输入多项式的导数的系数dfa(按降幂排列),运行后输出dfx为多项式的导数. 2.1.4 求解方程(组)的fsolve命令 如果非线性方程(组)是多项式形式,求这样方程(组)的数值解可以直接调用上面已经介绍过的roots命令.如果非线性方程(组)是含有超越函数,则无法使用roots命令,需要调用MATLAB系统中提供的另一个程序fsolve来求解.当然,程序fsolve也可以用于多项式方程(组),但是它的计算量明显比roots命令的大. fsolve命令使用最小二乘法(least squares method)解非线性方程(组) 的数值解,其中X和F(X)可以是向量或矩阵.此种方法需要尝试着输入解X的初始值(向量或矩阵)X0,即使程序中的迭代序列收敛,也不一定收敛到的根(见例2.1.8). fsolve的调用格式: X=fsolve(F,X0) 输入函数的M文件名和解X的初始值(向量或矩阵)X0,尝试着解方程(组),运行后输出解的估计值(向量或矩阵)X. 要了解更多的调用格式和功能请输入:help fsolve,查看说明. 2.2 搜索根的方法及其MATLAB程序:作图法、逐步搜索法和等,使用这些方法的前提是高等数学中的零点定理. 2.2.1 作图法及其MATLAB 作函数的图形的方法很多,如用计算机软件的图形功能画图,或用高等数学中应用导数作图,或用初等数学的函数叠加法作图等.下面介绍两种作图程序. 作函数在区间 [a,b] 的图形的MATLAB程序一 x=a:h:b; % h是步长 y=f(x); plot(x,y) grid, gtext(y=f(x)) 说明:⑴ 此程序在MATLAB的工作区输入,运行后即可出现函数的图形.此图形与轴交点的横坐标即为所要求的根的近似值. ⑵ 区间[a,b] 的两个端点的距离 b-a 和步长h的绝对值越小,图形越精确. 作函数在区间 [a,b]上的图形的MATLAB程序二 将化为,其中是两个相等的简单函数 x=a:h:b; y1=h(x); y2=g(x); plot(x, y1, x, y2) grid,gtext( y1=h(x),y2=g(x)) 说明:此程序在MATLAB的工作区输入,运行后即可出现函数的图形.两图形交点的横坐标即为所要求的根的近似值. 下面举例说明如何用计算机软件MATLAB的图形功能作图. 2.2.2 逐步搜索法及其MATLAB程序 .它是求方程根的近值位置的一种常用的方法. 逐满足与异号的区间.一旦找到区间,无论区间多大,通过某种方法总会找到一个根. MATLAB的库函数中zhubuss.m. 逐步搜索法的MATLAB主程序 a和b的值,步长和精度tol k=(b-a)/h+1,方程 根的近似值r. function [k,r]=zhubuss(a,b,h,tol) % --- a和b是闭区间[a,b]的左、右端点; %---h是步长; %---tol是预先给定的精度. % 运行后输出的量---k是搜索点的个数; % --- r是方程 在[a,b]上的实根的近似值,其精度是tol; X=a:h:b;Y=funs(X);n=(b-a)/h+1;m=0; X(n+1)=X(n);Y(n+1)=Y(n); for k=

文档评论(0)

docindoc + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档