非线性代数方程(组)的解法.ppt



《非线性代数方程(组)的解法.ppt》由会员分享,可在线阅读,更多相关《非线性代数方程(组)的解法.ppt(14页珍藏版)》请在装配图网上搜索。
1、2.2 非线性代数方程(组)的解法,非线性方程(组)在化学工程中的作用,多组分混合溶液的沸点、饱和蒸气压计算 流体在管道中阻力计算 多组分多平衡级分离操作模拟计算 平衡常数法求解化学平衡问题 定态操作的全混流反应器的操作分析,知识要点,单变量非线性方程---fzero 多项式求根函数---roots 非线性方程(组)---fsolve,单变量非线性方程fzero,,,x,fval,exitflag,output = fzero(fun,x0,options, p1, p2, ...) 此函数的作用求函数fun在x0附件的零值点x,x0是标量。 fval 函数在解x处的值 exitflag 程序
2、结束情况,0,程序收敛于解; <0,程序没有收敛;0,计算达到了最大次数 output 一个结构体,提供程序运行的信息; output.iterations,迭代次数; output.functions,函数fun的计算次数; output.algorithm,使用的算法 options 选项,可用optimset函数设定选项的新值 fun可以是函数句柄或匿名函数。,1) sinx在3附近的零点,2) cosx在1,2范围内的零点,,3),fzero(sin,3),fzero(cos,1,2),x=fzero(fun,1) function y=fun(x) y=x3-2*sin(x);,
3、初值不同对fzero求解结果的影响(例3-18),function xFzero_Roots clear all clc x0 = 0; x1 = fzero(func,x0) x0 = 2; x2 = fzero(func,x0) % By using roots() c = 1 -2 -3; x3 = roots(c) % ------------------------------------------------------------------ function f = func(x) f = x2-2*x-3;,多项式求根函数roots,x=root(c) c:多项式的系数向量
4、 x:方程的根,p=2 -5 6 -1 9; sol=roots(p),roots(1 0 -2 -5),非线性方程(组)fsolve,fzero函数只能求解单个方程的根 fsolve函数可求解非线性方程组的解 其算法采用最小二乘法。,x,fval,exitflag,output,jacobian = fsolve(fun,x0,options...) 输入输入变量的意义同fzero函数。 输出变量中的jacobian为函数fun在x处的Jacobian矩阵。,fsolve应用实例(例3-19),function xFsolve clear all clc x0 = 1 1; x1 = fso
5、lve(NonlinEqs,x0) x0 = -0.1 2; x2 = fsolve(NonlinEqs,x0) % ------------------------------------------------------------------ function f = NonlinEqs(x) f(1) = x(1)-4*x(1)*x(1)-x(1)*x(2); f(2) = 2*x(2)-x(2)*x(2)+3*x(1)*x(2);,化工应用实例(例3-20),function PVT clear all clc P = 9.33; % atm T = 300.2; % K n =
6、2; % mol a = 4.17; b = 0.0371; R = 0.08206; V0 = n*R*T/P; V,fval = fzero(PVTeq,V0,,P,T,n,a,b,R) % ------------------------------------------------------------------ function f = PVTeq(V,P,T,n,a,b,R) f = (P + a*n2/V2) * (V-n*b) - n*R*T;,化工应用实例(例3-21),function BatchDist clear all clc alpha = 2.5; % 相
7、对挥发度 x0 = 0.60; % 开始时的苯含量 var = 2; % var = F0/F x,fval = fzero(DistEq,x0,,alpha,x0,var) % ------------------------------------------------------------------ function f = DistEq(x,alpha,x0,var) f = log(var) - 1/(alpha-1)*(log(x0/x)+alpha*log((1-x)/(1-x0)));,化工应用实例(例3-22),function BoilingPoint clea
8、r all clc x = 0.5 0.3 0.2 ; % 液相组成 a = 7.84135 8.08840 8.11404; b = 1750 1985 2129 ; P = 760; % 大气压,mmHg T0 = 353; % K T = fzero(Equation,T0,,x,a,b,P); y = x.*P0(T,a,b)./P; fprintf(nn Results:) fprintf(nt混合物沸点为:%.2f %sn,T,K) fprintf(t平衡蒸汽组成为:) disp(y) % ------------------------------------------
9、------------------------ function f = Equation(T,x,a,b,P) y = x.*P0(T,a,b)./P; f = sum(y) - 1; % ------------------------------------------------------------------ function f = P0(T,a,b) f = exp(log(10)*(a-b./T));,读书报告要求,先讲PPT,后运行Matlab程序(m文件) 讲解时间:10分钟左右 讲稿规范: 题目、姓名学号、前言、问题叙述、问题求解、结果分析、结论、附录(主要是matlab程序,可省略数据信息等) 应用对象:化学化工对象,
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。