matlab非线性方程解法[含牛拉解法].docVIP

matlab非线性方程解法[含牛拉解法].doc

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
matlab非线性方程解法[含牛拉解法]

PAGE 21 PAGE 17 非线性方程的解法(含牛拉解法) 1引 言 数学物理中的许多问题归结为解函数方程的问题,即, (1.1) 这里,可以是代数多项式,也可以是超越函数。若有数为方程的根,或称函数的零点。 设函数在内连续,且。根据连续函数的性质知道,方程在区间内至少有一个实根;我们又知道,方程的根,除了极少简单方程的根可以用解析式表达外,一般方程的根很难用一个式子表达。即使能表示成解析式的,往往也很复杂,不便计算。所以,具体求根时,一般先寻求根的某一个初始近似值,然后再将初始近似值逐步加工成满足精度要求为止。 如何寻求根的初始值呢?简单述之,为了明确起见,不妨设在区间内有一个实的单根,且。我们从左端出点出发,按某一预定的步长一步一步地向右跨,每跨一步进行一次根的“有哪些信誉好的足球投注网站”,即检查每一步的起点和(即,)的函数值是否同号。若有: (1.2) 那么所求的根必在内,这时可取或作为根的初始近似值。这种方法通常称为“定步长有哪些信誉好的足球投注网站法”。另外,还是图解法、近似方程法和解析法。 2 迭代法 2.1 迭代法的一般概念 迭代法是数值计算中一类典型方法,不仅用于方程求根,而且用于方程组求解,矩阵求特征值等方面。迭代法的基本思想是一种逐次逼近的方法。首先取一个精糙的近似值,然后用同一个递推公式,反复校正这个初值,直到满足预先给定的精度要求为止。 对于迭代法,一般需要讨论的基本问题是:迭代法的构造、迭代序列的收敛性天收敛速度以及误差估计。这里,主要看看解方程迭代式的构造。 对方程(1.1),在区间内,可改写成为: (2.1) 取,用递推公式: , (2.2) 可得到序列: (2.3) 当时,序列有极限,且在附近连续,则在式(2.2)两边极限,得, 即,为方程(2.1)的根。由于方式(1.1)和方程(2.1)等价,所以, 即, 式(2.2)称为迭代式,也称为迭代公式???可称为迭代函数。称求得的序列为迭代序列。 2.2 程序和实例 下面是基于MATLAB的迭代法程序,用迭代格式,求解方程,其中初始值为。 ************************************************************************** function[p,k,err,P]=fixpt(f1021,p0,tol,max1) % f1021是给定的迭代函数。 % p0是给定的初始值。 % tol是给定的误差界。 % max1是所允许的最大迭代次数。 % k是所进行的迭代次数加1。 % p是不动点的近似值。 % err是误差。 % P = {p1,p2,…,pn} P(1) = p0; for k = 2:max1 P(k) = feval(f1021, P(k-1)); k, err = abs(P(k) - P(k-1)) p = P(k); if(errtol), break; end if k == max1 disp(maximum number of iterations exceeded); end end P=P; **************************************************************************** 例2.1 用上述程序求方程的一个近似解,给定初始值,误差界为。 解:先用m文件先定义一个名为f1021.m的函数文件。 function y = f1021(x) y = sin(x)/x; 建立一个主程序prog1021.m clc clear all fixpt(f1021,0.5,10^(-5),20) 然后在MATLAB命令窗口运行上述主程序,即: prog1021 计算结果如

文档评论(0)

185****7617 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档