「二分法」は、解を含む区間の中間点を求める操作を繰り返すことによって方程式を解く方法です。エクセルで「二分法」を用いると、弱酸-強塩基滴定などの複雑な滴定曲を迅速かつ簡便に作成することができます。

 

<二分法の概要>

関数Q(x)を考えます。具体的には、たとえば酢酸-強塩基滴定の電荷均衡式から導かれる、
Q = [H+]
[OH-][Na+][CH3COO-]
といった関数です。Q(pH)は単調減少関数であることが知られています。(*1)

Q(x)
が単調減少関数であり、Q(a)0, Q(b)0であるとき、a,b間のどこかにかならずQ(x)=0となるxが一つ存在します。

a, b
の中点をm=(a+b)/2 として、
Q(a)>0,Q(b)<0
かつQ(m)<0ならばamで挟んで、その中点をm’とする。

Q(a)>0, Q(b)<0
かつQ(m)>0ならばmbで挟んで、その中点をm’とする。

この操作を繰り返してQ(x)=0となる範囲を狭めていってxを求めます。
このやり方が二分法です。

この方法の模式図を図-1に示します。

 

-1

2019-03-07-fig1




<二分法の操作手順>

二分法により、近似解を求める具体的な操作手順は次の通りです。この操作をエクセルでやらせます。この操作はエクセルでIF関数を用いて次のように行うことができます。
初期値の付与

pHの初期値a0を与える。a0=0
pHの初期値b0を与える。b0=14
a0, b0の中点、m0を求める。m0=(a0+b0)/2=7
m0に対するQ値を求める。Q(m0)

繰り返し1回目
① Q(m0)0ならば、a1=a0、そうでなければ、a1=m0とする。
  ・a1=IF(Q(m0)<0,a0, m0)

② a1=m0ならば、b1=b0、そうでなければ、b1=m0とする。
  ・b1=IF(a1=m0,b0, m0)

③ a1, b1の中点、m1を求める。m1=(a1+b1)/2
  ・m1=(a1+b1)/2

④ m1に対するQ値を求める。Q(m1)

●2回目
① Q(m1)0ならば、a2=a1、そうでなければ、a2=m1とする。
  ・a2=IF(Q(m1)<0,a1, m1)

a2=m1ならば、b2=b1、そうでなければ、b2=m1とする。
  ・b2=IF(a2=m1,b1, m1)

③ a2, b2の中点、m2を求める。m2=(a2+b2)/2
  ・m1=(a1+b1)/2

④ m2に対するQ値を求める。Q(m2)

以下、これと同様の操作を繰り返す。

n回目
① Q(mn-1)0ならば、an=an-1、そうでなければ、an=mn-1とする。
  ・an=IF(Q(mn-1)<0,an-1, mn-1)

② an=mn-1ならば、bn=bn-1、そうでなければ、bn=mn-1とする。
  ・bn=IF(an=mn-1,bn-1, mn-1)

③ an, bnの中点、mnを求める。mn=(an+bn)/2
  ・mn=(an+bn)/2

④ mnに対するQ値を求める。Q(mn)


Q(mn)≒0
となったとき、mnが求める答えとなります。
pH
を小数点以下3桁で求めたい場合、n=2030程度で十分です。

二分法を用いた滴定曲線作成の例(酢酸をNaOHで滴定する場合)。

(*1) Qが単調減少関数であることの証明

Q = [H+]-[OH-]+[Na+]-[A-]

[H+] = xとすると

Q = x-Kw/x+[Na+]-CaKa/(Ka+x)

dQ/dx= 1+Kw/x^2+CaKa/(Ka+x)^2>0

また、

pH =-logx

dpH/dx =-1/(xln10)

dx/dpH =-xln10<0

∴ dQ/dpH = (dQ/dx)(dx/dpH) =-(dQ/dx)(xln10)<0

したがって、Q(pH)は単調減少関数である。