MATLAB生物化工计算与模拟
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.3 绘图功能

1.3.1 基本图形

【例1-10】在命令行窗口输入:

>>x=0:pi/18:2*pi; %第一个元素为0,最后一个元素为2π,形成以π/18为步长的等差数列  y=sin(x);    
plot(x,y);  %绘制图形
xlabel(‘x’);
ylabel(‘sin(x)’); title(‘x与sin(x)关系图')

按Enter键,得到图1-9。

图1-9 x与sin(x)关系图

也可以通过图形界面来实现绘图。比如,在命令行窗口输入相关命令(图1-10)后,选中“工作区”变量xy,再点击标签页“绘图”中的“plot”,即可方便地获得图1-9。

图1-10 图形界面绘图示例

【例1-11】在命令行窗口输入:

>>x=[0.50 0.75 1.00 1.25 1.50 1.75 2.00 2.25 2.50];    
y=[0.039 0.061 0.087 0.107 0.119 0.163 0.179 0.194 0.213];
plot(x,y,’*’);
xlabel(‘x’); ylabel(‘y’);

按Enter键,得到图1-11。

图1-11 xy的关系图

【例1-12】已知某底物在某酶上进行水解反应的实验数据,试用L-B法、H-W法、E-H法估计其动力学参数Kmrmax

L-B(Lineweaver-Burk)法:

 592.png (1-1)

以1/rS对1/cS作图,得一直线,其斜率为Km/rmax,与纵轴的截距为1/rmax

H-W(Hanes-Woolf)法:

 599.png (1-2)

cS/rScS作图,得一直线,其斜率为1/rmax,与纵轴的截距为Km/rmax

E-H(Eadie-Hofstee)法:

 607.png (1-3)

rSrS/cS作图,得一直线,其斜率为−Km,与纵轴的截距为rmax

式(1-1)、式(1-2)及式(1-3)中,rS为底物的消耗速率,cS为底物浓度,rmax为产物的最大反应速率,Km为米氏常数。

① 在同一幅图中绘制3个子图。在命令行窗口输入:

>> cs=[0.0032 0.0049 0.0062 0.008 0.0095];%底物浓度,mol/L    
rs=[0.111 0.148 0.153 0.166 0.2];%水解反应底物的初始速率,mol/(L·min)
subplot(1,3,1)
plot(1./cs,1./rs,’o’) % L-B法绘图
xlabel(‘1/c_s ‘);
ylabel(‘1/r_s ‘);
subplot(1,3,2)
plot(cs,cs./rs,’.’) % H-W法绘图
xlabel(‘c_s ‘);
ylabel(‘c_s/r_s ‘);
subplot(1,3,3)
plot(rs./cs,rs,’*’) % E-H法绘图
xlabel(‘r_s/c_s ‘); ylabel(‘r_s ‘);

按Enter键,得到图1-12。

图1-12 “工具/基本拟合”操作图形界面

② 在图形界面窗口(图1-12),点击“工具(Tools)/基本拟合(Basic Fitting)”,出现“基本拟合”界面(图1-13),在该界面勾选相关参数,即获得第1张子图的线性拟合公式y=0.018x+3.5;若在该界面“选择数据:data2”,即获得第2张子图的线性拟合公式y=3.33x+0.018;同样,若“选择数据:data3”,则获得第3张子图的线性拟合公式y= −0.0047x+0.30,同时获得图1-14。

图1-13 “L-B法”数据拟合图形界面示例

图1-14 L-B法、H-W法、E-H法作图结果

根据获得的3个线性方程,在命令行窗口输入:

>> rmax=1/3.5,Km=0.018*rmax %L-B法
rmax1=1/3.33,Km1=0.018*rmax1 %H-W法

按Enter键,得到:

rmax =    
  0.2857
Km =
  0.00514
rmax1 =
  0.3003
Km1 = 0.0054

即L-B法的Km=0.00514mol/L,rmax=0.2857mol/(L·min);H-W法的Km=0.0054mol/L,rmax=0.3003mol/(L·min);E-H法的Km=0.0047mol/L,rmax=0.30mol/(L·min)。

需要指出的是,L-B法、H-W法、E-H法是传统的酶反应参数估计法,仅以此例介绍“subplot”的使用方法。实际上采用MATLAB的曲线拟合工具箱进行酶反应参数估计更为便捷,具体解法请参见第5章【例5-9】。

【例1-13】在含有相同酶浓度的五个反应物系中,分别加入不同浓度的底物,并测定其初始速率,然后再在同样五个反应物系中分别加入浓度为0.22mmol/L的抑制剂,并测其初始速率,试确定其抑制类型及动力学参数 。

以L-B作图法判断抑制剂类型并求其参数。假定在有抑制剂存在时,其抑制机理为竞争性抑制,其速率方程为:

 642.png (1-4)

式中,rSI为有抑制剂反应的初始速率,cI为抑制剂浓度,KI为抑制剂的解离常数,其余参数与式(1-1)相同。

利用式(1-1)及式(1-4)将其实验数据分别取其倒数,以1/rS对1/cS作图,再以1/rSI对1/cS作图。在命令行窗口输入:

>> cs0=[0.1 0.15 0.20 0.5 0.7]; %底物初始浓度,mmol/L    
rs0=[28 36 43 63 74]; %无抑制剂时初始速率,mmol/(L·min)
rsi=[18 24 30 51 63]; %有抑制剂时初始速率,mmol/(L·min)
plot(1./cs0,1./rs0,’r*’,1./cs0,1./rsi,’bo’)
legend(‘无抑制剂',’有抑制剂’)
xlabel(‘1/c_S_0’); ylabel(‘1/r_S_0,1/r_S_I ‘);

按Enter键,得到一图形用户界面,点击该图形菜单栏中“工具(Tools)/基本拟合(Basic Fitting)”,出现“基本拟合”界面,并在该界面勾选相关参数。若在该界面“选择数据:无抑制剂”,并勾选“线性(Linear)”及“显示方程(Show equation)”,即获得无抑制剂时的线性拟合公式y=0.0026x+0.01,见图1-15(a);同样,若“选择数据:有抑制剂”,则获得有抑制剂的线性拟合公式y= 0.0046x+0.01,见图1-15(b),从获得的2条直线可以看到,它们在纵轴上截距相同,表明该抑制为竞争性抑制。

图1-15 L-B法无抑制剂与有抑制剂的酶反应参数拟合结果

在命令行窗口输入:

ci=0.22; %抑制剂浓度    
rmax=1/0.01
Km=0.0026*rmax Ki= Km*ci/(0.0046* rmax- Km) %求抑制剂解离常数

按Enter键,得到:

rmax =    
  100
Km =
  0.2600
Ki = 0.2860

rmax=100mmol/(L·min),Km=0.26mmol/L,KI=0.286mmol/L。

【例1-14】在命令行窗口输入:

>> clear    
t=0:pi/20:2*pi;
plot(t,t.*cos(t),’-.r*’)
hold on %保存当前图形
plot(t,exp(t/100).*sin(t-pi/2),’--mo’)
plot(t,sin(t*pi),’:bs’)
xlabel(‘t’);
ylabel(‘y ‘);
legend(‘t*cos(t)’,’exp(t/100)*sin(t-pi/2)’,’ sin(t*pi)’) hold off

按Enter键,得到图1-16。

图1-16 ty关系图

1.3.2 对数坐标图形

【例1-15】在命令行窗口输入:

>>x=logspace(-1,2);%第一个元素为10的-1次方,最后一个元素为10的2次方,形成总数为50个元素的等比数列    
loglog(x,10*exp(x),’-s’)
xlabel(‘x’);
ylabel(‘10exp(x)’); grid on

按Enter键,输出结果如图1-17所示。

 

图1-17 双对数绘图示例

【例1-16】在命令行窗口输入:

>>x=0:.1:10; %第一个元素为0,最后一个元素为10,形成以0.1为步长的等差数列    
semilogy(x,10.^x)
xlabel(‘x’);
ylabel(‘y’); grid on

按Enter键,输出结果见图1-18。

图1-18 半对数绘图示例

1.3.3 函数绘图

【例1-17】在命令行窗口输入:

>> fplot(@(x)sin(3*x), [0,pi]) %画出x在0~pi之间的y=sin3x的图像    
xlabel(‘x’); ylabel(‘sin(3x)’);

按Enter键,输出结果见图1-19。

 

图1-19 x与sin(3x)关系图

【例1-18】在命令行窗口输入:

>> fplot(@(x)[sin(x),cos(x)] ,[-2*pi,2*pi]) %在同一张图上绘制正弦及余弦曲线    
xlabel(‘x’);
ylabel(‘sin(x), cos(x)’); legend(‘sin(x)’,’ cos(x)’)

按Enter键,输出结果见图1-20。

图1-20 x与sin(x)及cos(x)关系图

1.3.4 双轴绘图

【例1-19】在命令行窗口输入:

>> x=0:0.01:20;    
y1=200*exp(-0.05*x).*sin(x);
y2=0.8*exp(-0.5*x).*sin(10*x);
[AX,H1,H2]=plotyy(x,y1,x,y2,’plot’);
set(H1,’LineStyle’,’- -’)
set(H2,’LineStyle’,’-’)
xlabel(‘x’)
yyaxis left
ylabel(‘y_1’)
yyaxis right ylabel(‘y_2’)

按Enter键,输出结果见图1-21。

图1-21 双y轴图形示例