- MATLAB生物化工計算與模擬
- 劉俏
- 17字
- 2020-02-26 13:34:43
第2章 線性與非線性方程(組)的應用
2.1 線性方程組
【例2-1】求解三元一次方程組:
在命令行窗口輸入:
>>A=[2,1,-1;3,2,1;2,-1,2];
B=[1,8,5]’; x=A\B
按Enter鍵,得到:
x =
0.9231
1.4615 2.307
也可以是“B=[1;8;5];”。
2.1.1 細胞反應的元素衡算
【例2-2】以葡萄糖為基質進行面包酵母(S.cerevisiae)培養,培養的反應式可用下式表達:C6H12O6+3O2+aNH3→bC6H10NO3(面包酵母)+cH2O+dCO2,求計量關系中的系數a、b、c和d。
據平衡方程式可以得到4個線性方程式:
C: 6=6b+d
H: 12+3a=10b+2c
O: 6+2×3=3b+c+2d
N: a=b
寫成矩陣式:Ax=B
即
當方程組有唯一解時應有x=A?1B。
調用線性方程組命令,在命令行窗口輸入:
>>A=[0 6 0 1;3 -10 -2 0;0 3 1 2;1 -1 0 0];
B=[6;-12;6+2*3; 0]; x=A\B
按Enter鍵,并得到:
x =
0.4800
0.4800
4.3200 3.1200
則方程聯立求解為a=b=0.48, c=4.32, d=3.12。上述反應計量關系式為C6H12O6+3O2+ 0.48NH3→0.48C6H10NO3(面包酵母)+4.32H2O+3.12CO2。
2.1.2 細菌共存數的確定
【例2-3】某實驗室有3種細菌,這些細菌需要3種食物飼養。每種細菌每天消耗不同食物情況見表2-1。若該實驗室每天能提供5500單位的食物Ⅰ、4600單位的食物Ⅱ、6600單位的食物Ⅲ。試確定每天3種細菌共存數量分別為多少?
表2-1 每種細菌每天消耗不同食物情況
設每天3種細菌共存數量分別為x1、x2和x3。可以得到3個線性方程式:
寫成矩陣式:Ax=B
即
當方程組有唯一解時應有x=A?1B。
調用線性方程組命令,在命令行窗口輸入:
>>A=[2 3 4;0 5 3;5 3 3];
B=[5500;4600;6600]; x=A\B
按Enter鍵,運行結果:
x =
600.0000
500.0000 700.0000
意味著每天可以飼養600個細菌A、500個細菌B以及700個細菌C。
2.1.3 多級逆流萃取理論級數的確定
多級逆流萃取流程如圖2-1所示。原料液F從第n級進入,依次經過各級萃取,成為各級的萃余相,其溶質組成逐級降低;溶劑S從第1級進入系統,依次通過各級與萃余相逆向接觸,進行萃取,使得萃取相中的溶質組成逐級提高,最終獲得的萃取相溶質組成yn和萃余相溶質組成x1。
圖2-1 多級逆流萃取流程
【例2-4】以130kg/h的純乙酸戊酯為溶劑,從280kg/h的發酵液中萃取青霉素。欲通過多級逆流萃取,使原料液中的青霉素由0.030降至0.005(均為質量分數),分配系數K為2.0,試求理論級數。
由題意可知,F=280kg/h,S=130kg/h,xF =0.030kg青霉素/kg發酵液,x1=0.005kg青霉素/kg發酵液,yS=0,K=2.0。
根據圖2-1,對各級進行物料衡算:
第1級:,分配系數K=y/x,即
第i級:,即
第n級:,即
該問題是求解矩陣方程Ax=B。其中:
假設理論級數的初始值為3,進行計算,根據計算的x1值,試著增加或減少理論級數,再進行計算,直至期望值x1的實現。在命令行窗口輸入:
>>%3級萃取
S=130;K=2;F=280;ys=0;xF=0.03;
A=[-(S*K+F),F,0;
S*K, -(S*K+F),F;
0, S*K, -(S*K+F)];
B=[-S*ys;0;-F*xF]; x=A\B
按Enter鍵,運行結果:
x =
0.0084
0.0161 0.0233
可見,理論級數為3時,x1=0.0084(>0.005),沒有滿足要求。在命令行窗口輸入:
>>% 6級逆流萃取
A=[-(S*K+F),F,0,0,0,0;
S*K, -(S*K+F),F,0,0,0;
0, S*K, -(S*K+F),F,0,0;
0,0, S*K, -(S*K+F),F,0;
0,0,0, S*K, -(S*K+F),F;
0,0,0,0, S*K, -(S*K+F)];
B=[-S*ys;0;0;0;0; -F*xF]; x=A\B
按Enter鍵,運行結果:
x =
0.0053
0.0102
0.0148
0.0190
0.0230 0.0266
可見,理論級數為6時,x1=0.0053(>0.005),仍沒有滿足要求。
在命令行窗口輸入:
>> % 7級逆流萃取
A=[-(S*K+F),F,0,0,0,0,0;
S*K,-(S*K+F),F,0,0,0,0;
0,S*K,-(S*K+F),F,0,0,0;
0,0,S*K,-(S*K+F),F,0,0;
0,0,0, S*K, -(S*K+F),F,0;
0,0,0,0, S*K, -(S*K+F),F;
0,0,0,0,0, S*K, -(S*K+F)];
B=[-S*ys;0;0;0;0;0; -F*xF]; x=A\B
按Enter鍵,運行結果:
x =
0.0048
0.0092
0.0134
0.0172
0.0208
0.0241 0.0271
由此可見,理論級數為7時,x1=0.0048(<0.005),滿足要求。