学習環境
- Surface
- Windows 10 Pro (OS)
- Nebo(Windows アプリ)
- iPad
- MyScript Nebo - MyScript(iPad アプリ(iOS))
- 参考書籍
解析入門 原書第3版 (S.ラング(著)、松坂 和夫(翻訳)、片山 孝次(翻訳)、岩波書店)の第4部(級数)、第15章(級数)、7(べき級数の微分と積分)の練習問題1を求めてみる。
コード
Python 3
#!/usr/bin/env python3 from unittest import TestCase, main from sympy import pprint, symbols, summation, oo, Limit, plot, factorial, Derivative print('1.') x, k, n = symbols('x, k, n') s = summation((-1) ** k * x ** (2 * k + 1) / factorial(2 * k + 1), (k, 0, oo)) c = summation((-1) ** k * x ** (2 * k) / factorial(2 * k), (k, 0, oo)) class MyTestCase(TestCase): def setUp(self): pass def tearDown(self): pass def test_ds_c(self): self.assertEqual(Derivative(s, x, 1).doit(), c) def test_dc_s(self): self.assertEqual(Derivative(c, x, 1).doit(), -s) def f(n): return sum([(-1) ** k * x ** (2 * k + 1) / factorial(2 * k + 1) for k in range(n + 1)]) def g(n): return sum([(-1) ** k * x ** (2 * k) / factorial(2 * k) for k in range(n + 1)]) ns = range(4) fs = [s] + [f(n0) for n0 in ns] gs = [c] + [f(n0) for n0 in ns] p = plot(*(fs + gs), (x, -10, 10), ylim=(-10, 10), legend=False, show=False) colors = ['red', 'green', 'blue', 'brown', 'orange', 'purple', 'pink', 'gray', 'skyblue', 'yellow'] for o, color in zip(p, colors): o.line_color = color for o in zip(fs + gs, colors): pprint(o) print() p.show() p.save('sample1.png') if __name__ == '__main__': main()
入出力結果(Zsh、cmd.exe(コマンドプロンプト)、Terminal、Jupyter(IPython))
% ./sample1.py -v 1. (sin(x), red) (x, green) ⎛ 3 ⎞ ⎜ x ⎟ ⎜- ── + x, blue⎟ ⎝ 6 ⎠ ⎛ 5 3 ⎞ ⎜ x x ⎟ ⎜─── - ── + x, brown⎟ ⎝120 6 ⎠ ⎛ 7 5 3 ⎞ ⎜ x x x ⎟ ⎜- ──── + ─── - ── + x, orange⎟ ⎝ 5040 120 6 ⎠ (cos(x), purple) (x, pink) ⎛ 3 ⎞ ⎜ x ⎟ ⎜- ── + x, gray⎟ ⎝ 6 ⎠ ⎛ 5 3 ⎞ ⎜ x x ⎟ ⎜─── - ── + x, skyblue⎟ ⎝120 6 ⎠ ⎛ 7 5 3 ⎞ ⎜ x x x ⎟ ⎜- ──── + ─── - ── + x, yellow⎟ ⎝ 5040 120 6 ⎠ test_dc_s (__main__.MyTestCase) ... ok test_ds_c (__main__.MyTestCase) ... ok ---------------------------------------------------------------------- Ran 2 tests in 0.002s OK %
0 コメント:
コメントを投稿