这道生物题怎么做?

求0.3mol/L的白氨酸的pH.已知:pK1=2.4,pK2=9.6.说说思路就可以了,我算了半张纸硬没算出来,望高手指点指点... 求0.3mol/L的白氨酸的pH.
已知:pK1=2.4,pK2=9.6.

说说思路就可以了,我算了半张纸硬没算出来,望高手指点指点
展开
逸野山人
2008-10-01 · TA获得超过227个赞
知道答主
回答量:16
采纳率:0%
帮助的人:0
展开全部
可将其视作求解二元弱酸的问题。
由题可知:ka1=3.98e-3;ka2=2.51e-10
因为ka1*c>10kw,kw可以忽略;又ka2/sqrt(c*ka1)<0.5,故第二级解离也可以忽略。
则,可以将其视作一元弱酸。方程不难,你当知晓。解得:PH=1.486;
如果还需偷懒,也可以将其简化为[H]=sqrt(c*ka1),(其条件为,c/ka1>100,本题c/ka1=75,可以将就着用)解得:PH=1.461。误差不大。
当然,最好的方法是用牛顿迭代法求解。其C语言程序如下:
#include<stdio.h>
#include<math.h>
void main()
{
float c,ka1,ka2,kw,dr,x0,x1,fx,dfx,ph;
int i;
printf("迭代法计算二元弱酸的PH值。\n");
printf("Please input the value of c=");
scanf("%f",&c);
printf("Please input the value of ka1=");
scanf("%f",&ka1);
printf("Please input the value of ka2=");
scanf("%f",&ka2);
kw=1.0e-14;
dr=1.0e-3;
x0=sqrt(ka1*c);
for(i=1;i>=0;i++)
{
fx=(((x0+ka1)*x0+(ka1*ka2-ka1*c-kw))*x0-(ka1*kw+2*ka1*ka2*c))*x0-ka1*ka2*kw;
dfx=((4*x0+3*ka1)*x0+2*(ka1*ka2-ka1*c-kw))*x0-(ka1*kw+2*ka1*ka2*c);
x1=x0-fx/dfx;
if(abs((x1-x0)/x1)<=dr) break;
x0=x1;
}
ph=-log10(x1);
printf("PH=%f\n",ph);
}
/*互相学习哈*/
解得:PH=1.483
浙大阿米巴
2008-10-01 · TA获得超过2.4万个赞
知道大有可为答主
回答量:8875
采纳率:33%
帮助的人:8534万
展开全部
你设带一个正电荷的氨基酸浓度为x
不带电的为y
带负电的为0.3-x-y

pK1一个方程,pK2一个方程。
算出x y
pH不就有了?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式