《非線性代數(shù)方程(組)的解法.ppt》由會員分享,可在線閱讀,更多相關(guān)《非線性代數(shù)方程(組)的解法.ppt(14頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
1、2.2 非線性代數(shù)方程(組)的解法,非線性方程(組)在化學(xué)工程中的作用,多組分混合溶液的沸點(diǎn)、飽和蒸氣壓計(jì)算 流體在管道中阻力計(jì)算 多組分多平衡級分離操作模擬計(jì)算 平衡常數(shù)法求解化學(xué)平衡問題 定態(tài)操作的全混流反應(yīng)器的操作分析,知識要點(diǎn),單變量非線性方程---fzero 多項(xiàng)式求根函數(shù)---roots 非線性方程(組)---fsolve,單變量非線性方程fzero,,,x,fval,exitflag,output = fzero(fun,x0,options, p1, p2, ...) 此函數(shù)的作用求函數(shù)fun在x0附件的零值點(diǎn)x,x0是標(biāo)量。 fval 函數(shù)在解x處的值 exitflag 程序
2、結(jié)束情況,0,程序收斂于解; <0,程序沒有收斂;0,計(jì)算達(dá)到了最大次數(shù) output 一個結(jié)構(gòu)體,提供程序運(yùn)行的信息; output.iterations,迭代次數(shù); output.functions,函數(shù)fun的計(jì)算次數(shù); output.algorithm,使用的算法 options 選項(xiàng),可用optimset函數(shù)設(shè)定選項(xiàng)的新值 fun可以是函數(shù)句柄或匿名函數(shù)。,1) sinx在3附近的零點(diǎn),2) cosx在1,2范圍內(nèi)的零點(diǎn),,3),fzero(sin,3),fzero(cos,1,2),x=fzero(fun,1) function y=fun(x) y=x3-2*sin(x);,
3、初值不同對fzero求解結(jié)果的影響(例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;,多項(xiàng)式求根函數(shù)roots,x=root(c) c:多項(xiàng)式的系數(shù)向量
4、 x:方程的根,p=2 -5 6 -1 9; sol=roots(p),roots(1 0 -2 -5),非線性方程(組)fsolve,fzero函數(shù)只能求解單個方程的根 fsolve函數(shù)可求解非線性方程組的解 其算法采用最小二乘法。,x,fval,exitflag,output,jacobian = fsolve(fun,x0,options...) 輸入輸入變量的意義同fzero函數(shù)。 輸出變量中的jacobian為函數(shù)fun在x處的Jacobian矩陣。,fsolve應(yīng)用實(shí)例(例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);,化工應(yīng)用實(shí)例(例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;,化工應(yīng)用實(shí)例(例3-21),function BatchDist clear all clc alpha = 2.5; % 相
7、對揮發(fā)度 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)));,化工應(yīng)用實(shí)例(例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混合物沸點(diǎn)為:%.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));,讀書報(bào)告要求,先講PPT,后運(yùn)行Matlab程序(m文件) 講解時間:10分鐘左右 講稿規(guī)范: 題目、姓名學(xué)號、前言、問題敘述、問題求解、結(jié)果分析、結(jié)論、附錄(主要是matlab程序,可省略數(shù)據(jù)信息等) 應(yīng)用對象:化學(xué)化工對象,