曾小紅
(江西省化學(xué)工業(yè)設(shè)計(jì)院,江西南昌 330003)
近年來,國內(nèi)一些研究人員開始嘗試使用MATLAB最優(yōu)化工具箱(optimization toolbox)來研究VLE。蘇鐵軍[1,2]運(yùn)用MATLAB最優(yōu)化工具箱中的非線性最小二乘法程序,對二元和三元汽液平衡進(jìn)行Wilson模型參數(shù)估算。計(jì)算結(jié)果表明這種方法大大減輕了復(fù)雜算法設(shè)計(jì)的工作量。劉俏[3,4]用MATLAB計(jì)算化工過程中的汽液平衡組成及溫度,結(jié)果表明MATLAB具有編程容易、計(jì)算方便和效率高的特點(diǎn)。唐正姣等[5]運(yùn)用MATLAB最優(yōu)化工具箱函數(shù)對二元系等溫等壓汽液平衡數(shù)據(jù)進(jìn)行UNIQUAC模型參數(shù)估算。
本文選用101.325kPa下的甲基二氯硅烷(1)+甲苯(2)[6]二元體系為研究對象,用MATLAB最優(yōu)化工具箱中的非線性最小二乘法來進(jìn)行Wilson模型參數(shù)回歸和泡點(diǎn)計(jì)算。
非線性最小二乘法的MATLAB求解函數(shù)為lsqnonlin()。非線性最小二乘法在數(shù)據(jù)擬合和參數(shù)估計(jì)等方面有廣泛用途。
數(shù)學(xué)模型:
lb≤x≤ub式中,C為常數(shù)。
調(diào)用格式:
輸入函數(shù):
fun 函數(shù)返回值fun(x)
x0 初值
lb,ub 設(shè)置變量的下邊界和上邊界,lb≤x≤ub,若無邊界,則將lb和ub賦給空矩陣:lb=[],ub=[]。如果x(i)下無界,則設(shè)置lb=-inf;如果x(i)上無界,則設(shè)置ub=inf;
輸出參數(shù):
x 返回解向量;
resnorm 返回x處殘差的平方范數(shù)值:sum(fun(x).^2);
residual 返回x處的殘差值fun(x);
exitflag 描述函數(shù)計(jì)算的退出條件:若為正值,表示目標(biāo)函數(shù)收斂于解x處;若為負(fù)值,表示目標(biāo)函數(shù)不收斂;若為零值,表示已經(jīng)達(dá)到函數(shù)評價(jià)或迭代的最大次數(shù)。
output 返回優(yōu)化信息:
output.iterations 表示迭代次數(shù);
output.algorithm 表示所采用的算法;
output.funcCount 表示函數(shù)評價(jià)次數(shù)。
Lambda 返回包含x處拉格朗日乘子的結(jié)構(gòu)參數(shù);
jacobian 返回解x處的fun函數(shù)的雅可比矩陣。
lsqnonlin默認(rèn)時(shí)選擇大型優(yōu)化算法。lsqnonlin通過options.LargeScale設(shè)置為‘off’來作中型優(yōu)化算法。其采用一維搜索法。
本文采用 MATLAB7.0 編程,MATLAB[7]具有一系列專題應(yīng)用軟件包,稱之為工具箱(Toolbox)。工具箱是極為廣泛的集合了MATLAB函數(shù)(M-files),而這些函數(shù)大大地?cái)U(kuò)展了MATLAB環(huán)境,使之能夠解決某些專門的問題。工具箱所涉及的領(lǐng)域,包括信號處理、控制系統(tǒng)設(shè)計(jì)、魯棒控制、動態(tài)系統(tǒng)仿真、系統(tǒng)辨識、神經(jīng)網(wǎng)絡(luò)、圖像處理、統(tǒng)計(jì)學(xué)、μ分析、模型邏輯、優(yōu)化、樣條函數(shù)、符號運(yùn)算、圖形設(shè)計(jì)、符號數(shù)學(xué)處理、偏微分方程處理、高階譜分析等。
本文利用MATLAB語言提供的最優(yōu)化工具箱可以直接調(diào)用lsqnonlin函數(shù)模塊,因而使得程序的編寫和調(diào)試非常簡便。本文編程中用到的命令如表1-1所示:
表1-1 程序中所用的基本函數(shù)表
低壓下非理想溶液(汽相看做是理想氣體)的汽液平衡關(guān)系式:
純組分i的飽和蒸氣壓Psi(單位為mmHg)由Antoine方程計(jì)算:
式中 A、B、C ——Antoine參數(shù)。
Wilson模型活度系數(shù)方程:
純液體摩爾體積 VL1,VL2由修正的 Rackeet方程[8]計(jì)算:
擬合程序的目標(biāo)函數(shù)可以用多種方式來定義。擬采用以下函數(shù)φ對液相活度系數(shù)的Wilson模型參數(shù)進(jìn)行參數(shù)回歸:
式中Pcal和Pexp分別表示混合物中某組分在平衡溫度下蒸汽壓的計(jì)算值和實(shí)驗(yàn)值。
泡點(diǎn)計(jì)算主要求取液相混合物在一定壓力下的沸點(diǎn)即泡點(diǎn),或一定溫度下的蒸汽壓,以及平衡汽相組成。輸入的獨(dú)立變量為x以及T或P的任一個(gè),要求輸出另一個(gè)以及y。這些問題都是單變量非線性方程的求解問題,本文用MATLAB的主程序fzero()求解,并以溫度實(shí)驗(yàn)值作為其計(jì)算的初值。
等壓泡點(diǎn)計(jì)算程序見圖4.1:
圖4.1 泡點(diǎn)溫度與汽相組成的計(jì)算框圖
從文獻(xiàn)中查得的Antoine參數(shù)及臨界參數(shù)示于表5-1。
表5-1 試劑Antoine方程參數(shù)及臨界參數(shù):lg(P/KPa)=A-B/[(T/K)+C]
表5-2 模型參數(shù)
表5-3 各種模型計(jì)算二元體系VLE的誤差
最小二乘法計(jì)算二元系的汽液平衡數(shù)據(jù)關(guān)聯(lián)的結(jié)果示于附表5-1,從表5-3中可看出,最小二乘法的平均絕對偏差小于文獻(xiàn)計(jì)算的結(jié)果,
附表5-1 101.3kPa下甲基二氯硅烷-甲苯二元系的實(shí)驗(yàn)值和Wilson模型計(jì)算值
No. x1exp Texp Tmod dT y1exp y1mod dy 24 0.6188 329.91 329.72 0.19 0.9443 0.9461-0.0018 25 0.6485 328.40 328.18 0.22 0.9523 0.9541-0.0018 26 0.6812 326.89 326.54 0.35 0.9598 0.9619-0.0021 27 0.7146 325.29 324.94 0.35 0.9671 0.9689-0.0018 28 0.7467 324.02 323.46 0.56 0.9724 0.9747-0.0023 29 0.7820 322.48 321.91 0.58 0.9784 0.9803-0.0019 30 0.8137 321.27 320.57 0.70 0.9827 0.9846-0.0019 31 0.8429 320.05 319.39 0.66 0.9867 0.9881-0.0014 32 0.8733 318.80 318.23 0.57 0.9904 0.9912-0.0008 33 0.9057 317.72 317.05 0.67 0.9933 0.9941-0.0008 34 0.9385 316.67 315.92 0.75 0.9959 0.9965-0.0006 35 0.9651 315.85 315.07 0.78 0.9978 0.9982-0.0004 36 0.9830 315.31 314.53 0.78 0.9990 0.9992-0.0002 Max 1.27 0.0294 MAE 0.55 0.0056
[1]李克娥,蘇鐵軍.MATLAB在處理化工熱力學(xué)數(shù)據(jù)中的應(yīng)用[J].重慶科技學(xué)院學(xué)報(bào)(自然科學(xué)版),2005,7(3):100 -102.
[2]蘇鐵軍.利用MATLAB計(jì)算三元物系的汽液平衡數(shù)據(jù)[J].江漢大學(xué)學(xué)報(bào)(自然科學(xué)版),2005,33(4):32-34.
[3]劉俏,范圣第.基于 MATLAB 的化工計(jì)算[J].計(jì)算機(jī)應(yīng)用與軟件,2005,22(12):130 -132.
[4]劉俏.MATLAB輔助化工原理教學(xué)的時(shí)間[J].高等理科教育,2006,5:80 -83.
[5]唐正姣,王存文,柯文語,等.用MATLAB估算二元系的 UNIQUAC模型參數(shù)[J]。2007,45(3):8-10.
[6]Yu SX,Yu ZB,Qiu ZM,et al.Isobaric Vapor—liquid Equilibrium for Methyldichlorosilane-methyl Vinyldi-chlorosilane-toluene and Constituent Binary Systems[J].Chinese Journal of Chemical and Engineering,2003,11(2):213 -216.
[7]飛思科技產(chǎn)品研發(fā)中心編著.MATLAB6.5輔助神經(jīng)網(wǎng)絡(luò)分析與設(shè)計(jì)[M].北京:電子工業(yè)出版社,2003:1-12.
[8]Harold G Rackett.Equation of state for saturated liquids[J].Journal of Chemical and Engineering Data,1970,37:514 -517.
[9]謝心亮.多元鹵代硅烷體系的汽液相平衡研究[D].南昌大學(xué),2005.