投稿

10月, 2021の投稿を表示しています

N88-BASICで水素イオン指数(pH) (3回目)

イメージ
2021/10/28(木) N88-BASICで水素イオン指数(pH) (3回目)   NaOHaq(水酸化ナトリウム水溶液),NH 3 aq(アンモニア水溶液) の濃度[NaOH],[NH 3 ]から[H + ]とpHを求める https://ulprojectmail.blogspot.com/2021/10/n88-basicph-2.html   N88-BASICで水素イオン指数(pH) (2回目) の酸を塩基に置き換えると   塩基の濃度をc'(mol/L)、塩基の電離定数をKbとすると 近似式α ≒ √(Kb/c') 近似無α = (-Kb + √(Kb 2 +4c'Kb)) / (2c') (α≧0より)   ここで 塩基由来の[OH - ] = c = c'α 塩基性水溶液中の水由来の[H + ],[OH - ]を [H + ] = [OH - ] = x (mol/L) 水のイオン積Kw = [H + ][OH - ] = 1.0×10 14  (mol/L) 2  (25℃) とすると   塩基性水溶液中では [H + ] = x [OH - ] = x + c [H + ][OH - ] = x(x + c) = Kw x 2  + cx - Kw = 0 x = {-c + √(c 2  + 4Kw)} / 2 (x≧0より) [H + ] = x   pH = -log 10 [H + ] ([H + ]=10 -a としたときのaの値)   濃度c = 10 (0 ~ -14) mol/L , pH = 0~14として -log 10 c - pHグラフを表示しました   NL-BASICとblg~.zip(ph003.bas)は このブログ(以下のリンク)から ダウンロードできます https://ulprojectmail.blogspot.com Readme.txtを読んで遊んで下さい

N88-BASICで水素イオン指数(pH) (2回目)

イメージ
2021/10/26(火) N88-BASICで水素イオン指数(pH) (2回目)   酢酸水溶液のpH   CH 3 COOHaq(酢酸水溶液)の濃度 [CH 3 COOH]から[H + ]とpHを求める   酢酸の電離定数(電離の平衡定数)は Ka = [CH 3 COO - ][H + ]/[CH 3 COOH] と定義され Ka = 2.69×10 -5  (mol/L) (25℃)   [CH 3 COOH] = c (mol/L), 電離度α とすると   CH 3 COOH → CH 3 COO -  + H +         ← 最初c    0   0 反応-cα  +cα +cα 平衡c-cα    cα    cα = c(1-α)   平衡状態の濃度は [CH 3 COOH] = c(1-α) [CH 3 COO - ] = cα, [H + ] = cα なので Ka = [CH 3 COO - ][H + ]/[CH 3 COOH] = cαcα/c(1-α) = cα 2 /(1-α)   ここで (1-a)Σa i  (i=0~n-1) = 1+a+...+a n-1  - (a+...+a n ) = 1-a n   Σa i  (i=0~n-1) = (1-a n )/(1-a) 0≦a<1としてn→∞とすると 1/(1-a) = 1+a+a 2 +a 3 +...   弱酸より0≦α<1を満たすので Ka = cα 2 /(1-α) = cα 2 (1+α+α 2 +α 3 +...) = cα 2 +cα 3 +cα 4 +... ここで|α|<<1(十分小さい) (例α=0.01,α 2 =0.0001,α 3 =0.000001) ならcα 3 以降は十分に小さく0に近似すると Ka ≒ cα 2  と近似できるので α ≒ √(Ka/c)   つぎに、近似を使わない式を考えます Ka = cα 2 /(1-α)を変形して cα 2  + Kaα - Ka = 0 α = (-Ka + √(Ka 2 +4cKa)) / (2c) (α≧0より)   https://ulprojectmail.blogspot.com N88-BASICで水素イオン指数(pH) (1回目) より   酸由来の[H + ] =

N88-BASICで水素イオン指数(pH) (1回目)

イメージ
2021/10/25(月) N88-BASICで水素イオン指数(pH) (1回目)   塩酸のpH   HClaq塩酸(塩化水素水溶液)の濃度 [HCl](塩化水素濃度)から [H + ](水素イオン濃度)とpH(ピーエイチ) を求める   水のイオン積 Kw = [H + ][OH - ] = 1.0×10 14  (mol/L) 2  (25℃)   HClaq中の水由来の[H + ],[OH - ]を [H + ] = [OH - ] = x (mol/L)とし HCl由来の[H + ]を [H + ] = c (mol/L)とすると   HClaq中では [H + ] = x + c [OH - ] = x [H + ][OH - ] = (x + c)x = Kw x 2  + cx - Kw = 0 x = {-c + √(c 2  + 4Kw)} / 2 (x≧0より) [H + ] = c + x = c + {-c + √(c 2  + 4Kw)} / 2   pH = -log 10 [H + ] ([H + ]=10 -a としたときのaの値)   濃度c = 10 (0 ~ -14) mol/L , pH = 0~14として -log 10 c - pHグラフを表示しました   NL-BASICとblg~.zip(ph001.bas)は このブログ(以下のリンク)から ダウンロードできます https://ulprojectmail.blogspot.com Readme.txtを読んで遊んで下さい

N88-BASICで楕円 (2回目)

イメージ
2021/10/23(土) N88-BASICで楕円 (2回目)   前回(1回目)で x 2 /a 2  + y 2 /b 2  = 1 を複素数でグラフを描くと楕円と双曲線は 現れますが放物線が仲間外れでした 今回は、放物線も仲間に入れてみたいと 思います   楕円の式 離心率e≧0, 真近点角f 近点距離q = a(1-e) > 0 長半径a = √(b 2 +c 2 ), 短半径b = a√(1-e 2 ) 焦点距離c = ae = a-q 半直弦L = b 2 /a = a(1-e 2 ) = q(1+e) 動径r = L/(1+ecosf) (楕)円(e<1, a>0, b>0, c≧0) 放物線(e=1, a=b=c=∞) 双曲線(e>1, a<0, c<0, (Im b)<0, bは虚数) より x = rcosf = Lcosf/(1+ecosf) x+excosf = Lcosf (L-ex)cosf = x cosf = x/(L-ex) tan 2 f = sin 2 f/cos 2 f = (1-cos 2 f)/cos 2 f = 1/cos 2 f - 1 = (L-ex) 2 /x 2  - 1 = (e 2 x 2  - 2eLx + L 2  - x 2 )/x 2   = {(e 2 -1)x 2  - 2eLx + L 2 }/x 2     tanf = y/x, y = xtanf, (e 2 -1) = -L/a y 2  = x 2 tan 2 f = (e 2 -1)x 2  - 2eLx + L 2   = -(L/a)x 2  - 2eLx + L 2   = -(L/a){x 2  + 2aex - aL} = -(L/a){x 2  + 2cx - aL} = -(L/a){(x+c) 2  - c 2  - aL} = -(b 2 /a 2 ){(x+c) 2  - c 2  - b 2 } = -(b 2 /a 2 ){(x+c) 2  - a 2 } = -b 2 (x+c) 2 /a 2  + b 2   (x+c) 2 /a 2  + y 2 /b 2  = 1   原点をx軸方向に-c移動して 楕円の中心(-c, 0)に持ってくると x 2 /a

N88-BASICで楕円 (1回目)

イメージ
2021/10/22(金) N88-BASICで楕円 (1回目)   極座標系の楕円の式は https://ulprojectmail.blogspot.com/2021/09/2.html 三角関数 (2回目) を参照して下さい 極座標系と直交座標系の変換 極座標系⇒直交座標系は、 x = rcosθ (cosθ = x / rより) y = rsinθ (sinθ = y / rより) 直交座標系⇒極座標系は、 r = √(x 2  + y 2 ) θ= Tan -1 (y/x)   直交座標系の円 x = rcosθ y = rsinθ より x 2 +y 2  = r 2 (cos 2 θ+sin 2 θ) x 2 +y 2  = r 2  … 原点からの距離がrの点の集合   直交座標系の楕円 長半径a,短半径bの楕円は 半径aの円をy軸方向にb/a倍に伸ばした 形y = (b/a)asinθ = bsinθとなるので x = acosθ y = bsinθ となり x/a = cosθ y/b = sinθ (x/a) 2 +(y/b) 2  = cos 2 θ+sin 2 θ x 2 /a 2 + y 2 /b 2  = 1 となる この楕円の式を (Re x, Re y, Im y)座標で描画する   楕円の式 x 2 /a 2  + y 2 /b 2  = 1 より x 2  = a 2  - (a 2 /b 2 )y 2   x 2  = (b 2 /b 2 )a 2  - (a 2 /b 2 )y 2   x = ±(a/b)√(b 2  - y 2 )   y = R+Iiと置くと x = ±(a/b)√(b 2  - y 2 ) = ±(a/b)√{b 2  - (R + Ii) 2 } = ±(a/b)√{b 2  - (R 2  - I 2  + 2RIi)} = ±(a/b)√{b 2  - R 2  + I 2  - 2RIi}   √(X+Yi)を計算する r = √(X 2 +Y 2 ), θ=Tan -1 (Y/X) X+Yi = r(cosθ + isinθ) √(X+Yi) = r 1/2 (cosθ + isinθ) 1/2   = r 1/2 (cos(θ/2) + isin(θ/2)) 詳しくは https://ul

N88-BASICで天体の軌道 (2回目)

イメージ
2021/10/19(火) N88-BASICで天体の軌道 (2回目)   軌道要素、ユリウス日、回転行列を使用して 実際の天体の軌道を描画します   使用している式などの詳しい説明は https://ulprojectmail.blogspot.com/2021/06/n88-basicmatrix-1.html N88-BASICで行列(matrix) (1回目) ~ https://ulprojectmail.blogspot.com/2021/09/n88-basicjd-1.html N88-BASICでユリウス日(JD) (1回目) ~ https://ulprojectmail.blogspot.com/2021/10/kepler-8.html 天体の軌道(Kepler) (8回目) を参照して下さい   平均運動nは n = 2π/P で求めています 周期Pが分からない天体は 地球の軌道長半径a=1AU,周期P=1年より M = nt(t=1年で1周なのでM = 2π) 2π = n = √(μ/a 3 ) = √(μ) √(μ) = 2πとして下記式でnを求めています n = √(μ/a 3 )   (if e < 1)(楕)円 n = √(μ)      (if e = 1)放物線 n = √(μ/|a| 3 ) (if e > 1)双曲線   このnを1年の日数で割って1日毎の 平均運動として以下の様に使用しています 平均近点角M = nt (日数t)   行列Mを*IDENTITYで単位行列にし、 dに回転角、x, y, zに回転軸のベクトルの 成分を入れて*ROTATEを呼ぶと、 行列Mに回転行列が入ります。 *IDENTITYを呼ぶまで、 つづけて移動や回転する事ができますが、 初めに呼出した方が、あとから計算されます。   例、 GOSUB *IDENTITY  ’Mを単位行列にする d = PI: x = 0: y = 0: z = 1 GOSUB *ROTATE    ’次にz軸に対して180°回転 x = 100: y = 0: z = 0 GOSUB *TRANSLATE ’初めx軸方向に100移動 なら、 p’= Mp、行列と点p(位置ベクトル)の積で p’は点pを、 x軸方向に100移動させて、 z軸に対して1

N88-BASICで天体の軌道 (1回目)

イメージ
2021/10/18(月) N88-BASICで天体の軌道 (1回目) 離心率 e = c / a = c / (q + c) ≧ 0 近点距離q = a(1 - e) = a - c 遠点距離Q = a(1 + e) = a + c 焦点距離c = ae 長半径 a = q / (1 - e) = q + c 短半径 b = √(a 2  - c 2 ) = a√(1 - e 2 ) 半直弦 ℓ = a(1 - e 2 ) = q(1 + e) 動径  r = ℓ / (1 + e cosf) 真近点角f 離心近点角u   (楕)円軌道(e<1) 双曲線軌道(e>1) 放物線軌道(e=1)の順に以下に示します uをfに変換 tan(f/2) = √{(1+e)/(1-e)}tan(u/2) tan(f/2) = √{(e+1)/(e-1)}tanh(u/2) tan(f/2) = u/√(2q) ケプラー方程式 M = u - esinu M = esinh(u) - u M = u 3 /6 + qu   これらの式の詳しい説明は   https://ulprojectmail.blogspot.com/2021/10/kepler-5.html 天体の軌道(Kepler) (5回目) https://ulprojectmail.blogspot.com/2021/10/kepler-6.html 天体の軌道(Kepler) (6回目) https://ulprojectmail.blogspot.com/2021/10/kepler-7.html 天体の軌道(Kepler) (7回目) を参照して下さい   Mからuを求めるには数値計算するしかなく ここではニュートン法で解くことにします   図1. ニュートン法   y = f(x)のxでの接線の傾きは、 微分したy'= f'(x)で、 x = aの時の接線は、 y - f(a) = f'(a)(x - a)より、 y = f'(a)(x - a) + f(a) これと、x軸(y = 0)との交点は、 f'(a)(x - a) + f(a) = 0より、 x = {af'(a) - f(a)} / f'(a) x = a - f(a)/f&#