2017年10月22日日曜日

学習環境

数学読本〈5〉微分法の応用/積分法/積分法の応用/行列と行列式(松坂 和夫(著)、岩波書店)の第20章(面積、体積、長さ - 積分法の応用)、20.4(簡単な微分方程式)、解曲線と初期条件、問36.を取り組んでみる。

    1. yの解。

      y=Ck e kt

      Cは定数。

      最初の量。

      y=Ck e k0 =Ck

      定数kの値を求める。

      2Ck=Ck e k10 2= e k10 log2=log e 10k log2=10kloge log2=10k k= log2 10
    2. 時刻を求める。

      10Ck=Ck e kt 10= e kt log10=ktloge log10=kt t= log10 k = log10 log2 10 = 10log10 log2

コード(Emacs)

Python 3

#!/usr/bin/env python3
from sympy import pprint, symbols, exp, solve

print('36.')
print('(1)')
C, k, t = symbols('C k t', real=True)
y = C * k * exp(k * t)
y0 = y.subs({t: 0})
ks = solve(2 * y0 - y.subs({t: 10}), k)
pprint(ks)
k1 = ks[1]

for o in [y, y0, k1]:
    pprint(o)
    print()

print('(2)')
eq = (10 * y0 - y).subs({k: k1})
ts = solve(eq, t)
pprint(ts)
t = ts[0]
for o in [y, eq, t]:
    pprint(o)
    print()

入出力結果(Terminal, Jupyter(IPython))

$ ./sample36.py
36.
(1)
⎡   log(2)⎤
⎢0, ──────⎥
⎣     10  ⎦
     k⋅t
C⋅k⋅ℯ   

C⋅k

log(2)
──────
  10  

(2)
⎡10⋅log(10)⎤
⎢──────────⎥
⎣  log(2)  ⎦
     k⋅t
C⋅k⋅ℯ   

     t⋅log(2)                  
     ────────                  
        10                     
  C⋅ℯ        ⋅log(2)           
- ────────────────── + C⋅log(2)
          10                   

10⋅log(10)
──────────
  log(2)  

$

0 コメント:

コメントを投稿