MATLAB程序设计KMV模型求解—方程与方程组的数值解.docxVIP

MATLAB程序设计KMV模型求解—方程与方程组的数值解.docx

  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文档。上传文档
查看更多
KMV模型求解—方程与方程组的数值解 1.方程与方程组 在实际问题中如果我们知道某几个未知数间的关系,例如方程或方程组,则可以使用数值计算方法求解出方程或方程组的解(根)。 1.1 方程 若x为变量,方程 ,若存在,使得,则为方程 的解或者根。求解方程算法为迭代算法,通常使用优化算法求解方程 若上述方程有解,则对于上述优化问题的最小值为0,对应的最优点即为方程的解(根),若方程有多解,则优化问题存在多个极值使得函数值为0。 例如:求解 注释:上述方程未必有解,也可能解不唯一,具体理论可以参考相关数学理论书籍。 1.2 方程组 若x为变量,方程组 若存在,使得 则为方程组的解或者根。求解方程算法为迭代算法,通常可以使用优化算法求解方程 若上述方程组有解,则对于的优化问题的最小值为0,对应的最优点即为方程组的解(根),若方程有多解,则优化问题存在多个极值使得函数值为0。。 注释:上述方程组未必有解,也可能解不唯一,具体理论可以参考相关数学理论书籍。 2.方程与方程组的求解 2.1 fzero函数 fzero是matlab最主要内置的求解单变量方程的函数 函数语法 [x,fval,exitflag,output] = fzero(fun,x0,options) 输入参数: Fun: 目标函数 一般用M-文件形式给出 X0: 优化算法初始迭代点 Options: 参数设置 注释:方程组求解一般使用迭代算法,迭代是 数值分析中通过从一个 初始 估计出发寻找一系列近似解来解决问题(一般是解 方程或者 方程组)的过程,为实现这一过程所使用的方法统称为迭代法,所以这里输入的X0为初始迭代点。迭代是 数值分析中通过从一个 初始 估计出发寻找一系列近似解来解决问题的过程,为实现这一过程所使用的方法统称为迭代法(Iterative Method)。 函数输出: X: 最优点输出(或最后迭代点) Fval: 最优点(或最后迭代点)对应的函数值 Exitflag: 函数结束信息 (具体参见matlab help ) Output: 函数基本信息 包括迭代次数,目标函数最大计算次数,使用的算法名称,计算规模 实例演示:例如求解下列方程 1.编写目标函数,Eqfunobj1.m function f=Eqfunobj1(x) %code by ariszheng@ 2010-7-6 f=2*x-x^2-exp(-x); %matlab中指数函数使用exp(),函数计算,例如e^x=exp(x), 2. 编写求解函数,SolveEqfun1.m %code by ariszheng@ 2010-7-6 %初始迭代点为0 x0=0; %调用fzero函数进行求解 [x,fval,exitflag,output] = fzero(@Eqfunobj1,x0) 计算结果: %方程组的解 x = 0.4164 %解对于的方程组的函数值,若fval为0则上述x为正确解 %若fval不等于0则上述的x为非方程组解(可能由于算法问题或函数本身无解等原因造成 fval = 0 exitflag = 1 %表示迭代计算成功结束,获得函数解 output = intervaliterations: 9 iterations: 5 %迭代次数 funcCount: 24 %目标函数计算次数 algorithm: bisection, interpolation %函数使用的算法 message: Zero found in the interval [-0.452548, 0.452548] 2.2 fsolve函数 fsolve是matlab最主要求解多变量方程与方程组的函数 函数语法 [x,fval,exitflag,output,jacobian] = fsolve(fun,x0,options) 输入参数: Fun: 目标函数 一般用M-文件

文档评论(0)

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

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

1亿VIP精品文档

相关文档