学習環境
- Surface 3 (4G LTE)、Surface 3 タイプ カバー、Surface ペン(端末)
- Windows 10 Pro (OS)
- 数式入力ソフト(TeX, MathML): MathType
- MathML対応ブラウザ: Firefox、Safari
- MathML非対応ブラウザ(Internet Explorer, Microsoft Edge, Google Chrome...)用JavaScript Library: MathJax
- 参考書籍
数学読本〈5〉微分法の応用/積分法/積分法の応用/行列と行列式(松坂 和夫(著)、岩波書店)の第20章(面積、体積、長さ - 積分法の応用)、20.4(簡単な微分方程式)、2階微分方程式、問48.を取り組んでみる。
-
-
2次方程式が2つの異なる実数解α、βを持つ場合。
-
重解αをもつ場合。
-
-
コード(Emacs)
Python 3
#!/usr/bin/env python3 from sympy import pprint, symbols, solve, exp, Derivative p, q, X, a, b, C1, C2, x = symbols('p, q, X, a, b, C1, C2, x') eq = X ** 2 + p * X + q a0, b0 = solve(eq, X) y = C1 * exp(a * x) + C2 * exp(b * x) D1 = Derivative(y, x, 1) D2 = Derivative(y, x, 2) y1 = D1.doit() y2 = D2.doit() eq = y2 + p * y1 + q * y for t in [D1, y1, D2, y2, eq, eq.subs({a: a0, b: b0}).expand() == 0]: pprint(t) print()
入出力結果(Terminal, Jupyter(IPython))
=$ ./sample48.py ∂ ⎛ a⋅x b⋅x⎞ ──⎝C₁⋅ℯ + C₂⋅ℯ ⎠ ∂x a⋅x b⋅x C₁⋅a⋅ℯ + C₂⋅b⋅ℯ 2 ∂ ⎛ a⋅x b⋅x⎞ ───⎝C₁⋅ℯ + C₂⋅ℯ ⎠ 2 ∂x 2 a⋅x 2 b⋅x C₁⋅a ⋅ℯ + C₂⋅b ⋅ℯ 2 a⋅x 2 b⋅x ⎛ a⋅x b⋅x⎞ ⎛ a⋅x b⋅x⎞ C₁⋅a ⋅ℯ + C₂⋅b ⋅ℯ + p⋅⎝C₁⋅a⋅ℯ + C₂⋅b⋅ℯ ⎠ + q⋅⎝C₁⋅ℯ + C₂⋅ℯ ⎠ True $
HTML5
<div id="graph0"></div> <pre id="output0"></pre> <label for="r0">r = </label> <input id="r0" type="number" min="0" value="0.5"> <label for="dx">dx = </label> <input id="dx" type="number" min="0" step="0.0001" value="0.005"> <br> <label for="x1">x1 = </label> <input id="x1" type="number" value="-10"> <label for="x2">x2 = </label> <input id="x2" type="number" value="10"> <br> <label for="y1">y1 = </label> <input id="y1" type="number" value="-10"> <label for="y2">y2 = </label> <input id="y2" type="number" value="10"> <br> <label for="n0">n = </label> <input id="n0" type="number" min="0" value="1"> <label for="ε0">ε = </label> <input id="ε0" type="number" min="0" value="0.1"> <label for="a0">A = </label> <input id="a0" type="number" value="1"> <label for="α0">α = </label> <input id="α0" type="number" value="2"> <button id="draw0">draw</button> <button id="clear0">clear</button> <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/d3/4.2.6/d3.min.js" integrity="sha256-5idA201uSwHAROtCops7codXJ0vja+6wbBrZdQ6ETQc=" crossorigin="anonymous"></script> <script src="sample48.js"></script>
JavaScript
=$ ./sample48.py ∂ ⎛ a⋅x b⋅x⎞ ──⎝C₁⋅ℯ + C₂⋅ℯ ⎠ ∂x a⋅x b⋅x C₁⋅a⋅ℯ + C₂⋅b⋅ℯ 2 ∂ ⎛ a⋅x b⋅x⎞ ───⎝C₁⋅ℯ + C₂⋅ℯ ⎠ 2 ∂x 2 a⋅x 2 b⋅x C₁⋅a ⋅ℯ + C₂⋅b ⋅ℯ 2 a⋅x 2 b⋅x ⎛ a⋅x b⋅x⎞ ⎛ a⋅x b⋅x⎞ C₁⋅a ⋅ℯ + C₂⋅b ⋅ℯ + p⋅⎝C₁⋅a⋅ℯ + C₂⋅b⋅ℯ ⎠ + q⋅⎝C₁⋅ℯ + C₂⋅ℯ ⎠ True $
0 コメント:
コメントを投稿