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)后,选中“工作区”变量x和y,再点击标签页“绘图”中的“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 x与y的关系图
【例1-12】已知某底物在某酶上进行水解反应的实验数据,试用L-B法、H-W法、E-H法估计其动力学参数Km与rmax。
L-B(Lineweaver-Burk)法:
(1-1)
以1/rS对1/cS作图,得一直线,其斜率为Km/rmax,与纵轴的截距为1/rmax。
H-W(Hanes-Woolf)法:
(1-2)
以cS/rS对cS作图,得一直线,其斜率为1/rmax,与纵轴的截距为Km/rmax。
E-H(Eadie-Hofstee)法:
(1-3)
以rS对rS/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作图法判断抑制剂类型并求其参数。假定在有抑制剂存在时,其抑制机理为竞争性抑制,其速率方程为:
(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 t与y关系图
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轴图形示例