- 1、本文档共75页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
matlab-计算机应用基础-3-线性与非线性方程(组)求解.ppt
Columns 19 through 21 -27.1316 -12.8262 -5.3980 -13.0546 -13.9771 -14.7458 n = 20, err = 7.4680 Columns 10 through 18 2.3964 -0.1707 2.9042 0.2328 5.2282 2.2019 -1.9256 1.0999 -55.4854 -4.9528 -5.7194 -6.3291 -7.0480 -7.5767 -8.2138 -8.9775 -9.6438 -11.7934 3.2 非线性方程(组)求解 3.2 非线性方程(组)求解 5.2 最速下降法 是一种最优化的思路,比较古老和基础的方法。 求得是近似解,有n 个误差,为了使整个误差最小,求所有误差的平方和,称为代价函数 给定一个初值,每次迭代后代价函数都小一些: ?为步长因子,p(k)不同就构成了不同的下降算法: 该方法就为最速下降法。 最速下降法的算法 (1)给定一组初始解x0 3.2 非线性方程(组)求解 (2) (3)计算 3.2 非线性方程(组)求解 function [r,n]=FastDownGroudfun(F,x0,h,eps) format long; if nargin==3 eps=1.0e-8; end m = length(x0); x0 = transpose(x0); n=1; tol=1; while toleps fx = subs(F,findsym(F),x0); J = zeros(m,m); for i=1:m x1 = x0; x1(i) = x1(i)+h; J(:,i) = (subs(F,findsym(F),x1)-fx)/h; end % FastDownGroudfun.m为编写利用最速下降算法求非线性方程组的解的函数 % F为非线性方程组 % x0为给定的初始值 % h数值微分增量步 % eps为解的精度 % r为求得非线性方程组的一组解 % n为迭代步数 3.2 非线性方程(组)求解 lamda = fx/sum(diag(transpose(J)*J)); r=x0-J*lamda; fr = subs(F,findsym(F),r); tol=dot(fr,fr); x0 = r; n=n+1; if(n100000) disp(迭代步数太多,可能不收敛!); return; end end format short; 3.2 非线性方程(组)求解 六 Matlab内部函数(符号函数) 1. 内部符号函数fzero()可以求解非线性方程,其调用格式如下: 例【3-11】求解非线性方程在x0=1 时解 求解程序”ME_31_9.m” X=-3.04 3.2 非线性方程(组)求解 2. 内部符号函数fsolve()可以求解非线性方程组,采用的是最小二乘法,其调用格式如下: 例【3-11】求解非线性方程组在x0=[1 1]’时解 求解程序”ME_31_6.m” X=[0.25 0]’ 3.2 非线性方程(组)求解 3.2 非线性方程(组)求解 七 非线性方程组应用实例一 由状态方程p-V-T关系计算在945.36kPa (9.33atm), 300.2K时,容器充2mol氮气,求该容器的体积,已知氮气的范德华常数a=4.17atmL2/mol2, b=0.0371L/mol 在化工生产中,为了求解反应前后各物料的浓度,常常要联立求解一些非线性方程组,这些方程组难以用常规的解析方法求解,一般只能利用数值求解的方法加以求解。下面是在合成氨生产中利用非线性方程组求解方法求解烃类蒸气转化反应前后各物料浓度的实例。 例 4.8 在合成氨生产中,烃类蒸气发生以下转化反应: 已知进料甲烷为1mol,水蒸汽为5mol,反应后总压P=1atm,反应平衡常数为: 试求反应平衡时各组分的浓度。 解:设反应平衡时有x摩尔甲烷转化成CO,同时生成的C
文档评论(0)