エクセルを用いて酸塩基のpHを求める方法に関して、これまでソルバー法(2023-04-23)、二分法(2023-04-30)を説明しました。今回は、MIN法および反復法について説明します。

<<MIN>>
これまで述べてきたように平衡定数式、物質バランス式、電荷バランス式から、次のような式が導かれます。
Q = [H]
Kw/[H]Ca/(1[H]/Ka) = 0 …①
pHをたとえば-1から150.01刻みで与え、[H]=10^-pHを①式に代入して得られたQ値の絶対値(|Q|)または2乗値(Q^2)の中の最小値を求めると、この値がQ=0の近似解となります。さらに近似の精度を上げたい場合は、得られた近似解の周辺でpHの刻みをさらに小さくして同様の操作を行います。   

-1から15まで0.01刻みでpHを与えた場合1601回の計算をしなければなりませんが、エクセルを用いればこれらのデータを簡単に得ることができます。またエクセル関数を用いると、これらのデータの中から最小値を与えるpHを自動的に見つけることができます。つまり、これらのデータからMIN関数を用いて最小値(|Q|0)を探し、MATCH関数でこの最小値が上から何行目にあるかを調べ、INDEX関数でその行のpHの値を求めると、これが答えとなります。このような方法をここではMIN法」と呼ぶことにします。

<「MIN法」の操作手順>
0.100 mol/Lの酢酸(pKa=4.76)pHを求める」ことを例題として、エクセルによる「MIN法」のやり方を説明します。
(1) pKa, pKw , Caの値をD4D6に入れ、Ka, Kwを計算する(D7, D8)
(2)
 pHの値を-115まで0.01きざみで連続してB列に入れる。(B14:B1614
(3)
 濃度に関する計算式をいれる。(C14I14
C14 =10^(-B14) [H]=10^-pH
D14 =$D$8/C14 [OH]=Kw/[H]
E14 =$D$6/(1+C14/$D$7) [A]=Ca/(1+[H]/Ka)
F14 =C14*E14/$D$7 [HA]=[H][A]/Ka (F14はpHの計算には不要)
G14 =C14-D14-E14 Q=[H]-[OH]-[A]
H14 =ABS(G14) |Q|=ABS(Q)
I14 =G14^2 (|Q|の代わりにQ^2を用いてもよい)
(4)
 濃度に関する計算式を連続してコピーする。
C14I14を選択し、C1614I1614までコピーする。
(5)
 ABS(Q)の最小値を与えるpHを求める
(*1)
D11 =INDEX(B14:B1614,MATCH(MIN(H14:H1614),H14:H1614,0))
(*1) MIN関数でABS(Q)の最小値を求め、MATCH関数でその最小値の相対的位置(上から何番目)を求め、INDEX関数でその位置のpHの値を求める。

結果を-に示します。   

-
2023-05-07-fig1

ABS(Q)の最小値は、1.72×10^-5 [=MIN(H14:H1614)]
その相対位置は、上から389番目 [=
MATCH(MIN(H14:H1614),H14:H1614,0)]
そのpHは、2.88 [=INDEX(B14:B1614,MATCH(MIN(H14:H1614),H14:H1614,0))]

ここでは、pHのきざみを0.01としましたが、もしもう一桁だけ正確なpHを求めたい場合は近似値付近前後のきざみを0.001とします。   

pHQ, |Q|, Q^2の関係を-に示します。   

-
2023-05-07-fig2

<<反復法>>
方程式を[H]=G([H])の形に変形し、G([H])に初期値([H]0)を代入して[H]1を求め、この値をさらにG([H])に代入して[H]2を求め、これを繰り返して[H]n+1が一定値に収束するまで続ける方法は反復法(あるいは逐次近似法)(iterative numerical method)と呼ばれます。反復法は関数電卓でも計算可能ですが、エクセルを用いるとより簡便迅速に結果を得ることができます。
<弱酸(HA)の場合>
Ka = [H][A]/[HA]
 
Kw = [H][OH]
Ca = [A]
[HA]
[H] = [OH]
[A]
これらの式から、次にような[H]に関する3次方程式が得られます(2023-04-16)
[H]^3
Ka[H]^2(KaCaKw)[H]KaKw = 0  

左辺の4項のうち最も大きな値を持つであろう[H]^3の項に着目してこの式を変形すると、
[H] = 3
(Ka[H]^2(KaCaKw)[H]KaKw) = Ga([H]) …②
②式の右辺に初期値(たとえば[H]0=0.1)を代入しGa([H])を求めます。この値を[H]1とします。またこのときのpHを求めます。
[H]1
を②式の右辺に再び代入して、得られた値を[H]2とします。またこのときのpHを求めます。
この操作を繰り返して行い、得られた値[H]n+1が一定値(たとえば、|pHn+1pHn|0.001)になったら、このpHn+1を解とします。
0.1 mol/L
酢酸の例を-に示します。初期値に[H]=0.1を入れると8回目で解を得ることができました。   

-
2023-05-07-fig3

B10=0.1  
C10=(-$C$6*B10^2+($C$6*$C$5+$C$7)*B10+$C$6*$C$7)^(1/3)
D10=-LNG(C10)
B11=C10
C11=(-$C$6*B11^2+($C$6*$C$5+$C$7)*B11+$C$6*$C$7)^(1/3)
D11=-LNG(C11)
E11=ABS(D11-D10)
   

<弱塩基(B)の場合>
Kn = [H][B]/[HB]
 
Kw = [H][OH]
Cb = [B]
[HB]
[H]
[HB] = [OH]
これらの式から、次にような[H]に関する3次方程式が得られます。
[H]^3
(CbKn)[H]^2Kw[H]KnKw = 0  

左辺の4項のうち最も大きな値を持つであろう[H]^2の項に着目してこの式を変形すると、
[H] =
(([H]^3Kw[H]KnKw)/(CbKn)) = Gb([H]) …③
③式の右辺に初期値(たとえば[H]0=1×10^-14)を代入しGb([H])を求めます。この値を[H]1とします。またこのときのpHを求めます。
[H]1
を③式に再び代入して、得られた値を[H]2とします。またこのときのpHを求めます。
この操作を繰り返して行い、得られた値[H]n+1が一定値(たとえば、|pHn+1pHn|0.001)になったら、このpHn+1を解とします。
0.1 mol/L
アンモニアの例を-に示します。初期値に[H]=1×10^-14を入れると2回目で解を得ることができました。  

-
2023-05-07-fig4