第10.1讲-非线性方程组求解和matlab实现.pptVIP

第10.1讲-非线性方程组求解和matlab实现.ppt

  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文档。上传文档
查看更多
弦截法注意事项 与牛顿法只需给出一个初值不同,弦截法需要给出两个迭代初值。如果与逐步扫描法结合起来,则最后搜索的区间的两个端点值常可作为初值 弦截法虽比牛顿法收敛速度稍慢,但在每次迭代中只需计算一次函数值,又不必求函数的导数,且对初值要求不甚苛刻,是工程计算中常用的有效计算方法之一 弦截法虽比牛顿法收敛速度稍慢,但计算量小 三、松弛迭代法 松弛迭代法 有些非线性方程用前面的不动点迭代法求解时,迭代过程是发散的。这时可以引入松弛因子,利用松弛迭代法。通过选择合适的松弛因子,就可以使迭代过程收敛 迭代法是计算数学的一种重要方法,用途很广,求解线性方程组和矩阵特征值时也要用到这种方法 松弛法注意事项 由上式可知,当松弛因子ω=1时,松弛迭代法变为不动点迭代法;当松弛因子ω1时,松弛法使迭代步长加大,可加速迭代,但有可能使原理收敛的迭代变为发散;当0ω1时,松弛法使迭代步长减小,这适合于迭代发散或振荡收敛的情况,可使振荡收敛过程加速;当ω0时,将使迭代反方向进行,可使一些迭代发散过程收敛 松弛迭代法是否有效的关键因素是松弛因子的值能否正确选定。如果值选用适当,能使迭代过程加速,或者使原来不收敛的过程变成收敛;但如果值选用不合适,则效果相反,有时甚至会使原来收敛的过程变得不收敛。松弛因子的数值往往要根据经验选定,但选用较小的松弛因子,一般可以保证迭代过程的收敛 第二部分:MATLAB应用 MATLAB求解非线性方程函数 非线性方程 非线性方程组 非线性方程 多项式函数 roots fzero fsolve 多项式求根函数roots 多项式的表达式约定如下: 对于多项式,用以下行向量表示: 这样就把多项式问题转化为向量问题 Matlab提供了多种多项式计算函数,如多项式求根函数roots,求多项式的值,polyval;多项式乘法,conv;多项式除法,deconv;多项式微分,polyder;多项式拟合,polyfit 函数roots r = roots(c),用于求解多项式的根 其中,行向量c的元素是多项式的系数,按多项式次数降序排列 如果c中含有n+1个元素,则多项式为n次 roots可以获得多项式的所有根 其算法为计算伴随矩阵的特征值 求解实例 例题6 求方程 的根 c = [1 -1 0 -1]; r = roots(c) r = 1.4656 -0.2328 + 0.7926i -0.2328 - 0.7926i polyval(c, r(1)) ans = -2.5535e-015 非线性方程求解函数fzero fzero 对于一般的单个超越方程,可以采用fzero函数求解 fzero函数结合使用二分法、割线法和可逆二次内插法 函数fzero [x,fval,exitflag,output] = fzero(fun,x0,options, p1, p2, ...) 此函数的作用求函数fun在x0附件的零值点,x0是标量 x:所求解 fval:函数在解x处的值 exitflag:程序结束情况: 0,程序收敛于解;0,程序没有收敛;=0,计算达到了最大次数 output是一个结构体,提供程序运行的信息;output.iterations,迭代次数;output.functions,函数fun的计算次数;output.algorithm,使用的算法 options:选项,可用optimset函数设定选项的新值 fun可以是函数句柄或匿名函数。 Fun函数如何编写? X0如何选取? 求解实例 例题7 计算以下方程的根 1) 求sinx在3附近的零点; 2) 求cosx在[1,2]范围内的零点; 3) 4) 本例较简单,可直接在命令窗口输入命令求解: 1) fzero(@sin,3) 2) fzero(@cos,[1,2]) 3) fzero(@(x) x^3-2*x-5,1); roots([1 0 -2 -5]) 4) fzero(@(x) x^3-2*sin(x),1) * fzerogui演示fzero求根过程 * Script文件为Cha2demo3_2,哪一个是正确结果内? 包能胜 汕头大学工学院 数值计算方法与MATLAB 第十讲 非线性方程求解与MATLAB 第一部分:计算机理与方法 非线性方程求解的工程由来 问题 一种大型输电网络可简化为电路 负载电阻 线路内阻 电源电压V 负载电流 要求:列出各负载上电流的方程 工程问题:输电网络 ?讨论情况 ?设: 及总电流 n=10,求 ?讨论情况 工程问题:输电网络 一种大型输电网络可简化为电路 分析 根据电

文档评论(0)

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

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

1亿VIP精品文档

相关文档