Python 3 で数学を。

Python 3 とライブラリで数学の問題を解いていきます。統計学や機械学習はときどき。

解析学 (微分積分)。定積分。(Python 3: class (クラス), アンパック、SymPy: integrate(), latex(), Integral())

使用する数式

 \int_{1}^{3} x^{2}\, dx

 \int_{2}^{3} 3 x^{2}\, dx

 \int_{-2}^{1} \left(6 x^{2} - 2 x - 3\right)\, dx

 \int_{1}^{2} \left(8 x^{3} - 9 x^{2} + 4 x - 5\right)\, dx

上の数式は以下で作成 (SymPy: latex(), Integral())

>>> import sympy as sym
>>> print(sym.latex(sym.Integral(x**2, (x, 1, 3))))
\int_{1}^{3} x^{2}\, dx
>>> print(sym.latex(sym.Integral(3*x**2, (x, 2, 3))))
\int_{2}^{3} 3 x^{2}\, dx
>>> print(sym.latex(sym.Integral(6*x**2 - 2*x - 3, (x, -2, 1))))
\int_{-2}^{1} \left(6 x^{2} - 2 x - 3\right)\, dx
>>> print(sym.latex(sym.Integral(8*x**3 - 9*x**2 + 4*x - 5, (x, 1, 2))))
\int_{1}^{2} \left(8 x^{3} - 9 x^{2} + 4 x - 5\right)\, dx

使用するライブラリ

SymPy

Python 3 コード

cls_definite_integral1.py

#!/usr/bin/env python3


"""(docstring)
"""


import sympy as sym


class DefiniteIntegral1:
    """(docstring)
    """

    def __init__(self, fx):
        """(docstring)
        """
        self.DI1_fx = fx

    def definite_integral_func1(self):
        """(docstring)
        """
        return sym.integrate(*self.DI1_fx)


if __name__ == '__main__':
    x = sym.Symbol('x')

    fx_list = [[x**2, (x, 1, 3)],
               [3*x**2, (x, 2, 3)],
               [6*x**2 - 2*x - 3, (x, -2, 1)],
               [8*x**3 - 9*x**2 + 4*x - 5, (x, 1, 2)]]

    for fx in fx_list:
        di1 = DefiniteIntegral1(fx)
        print(di1.definite_integral_func1())

出力

$ python3 cls_definite_integral1.py
26/3
19
12
10

参考文献 (数式を参考)

関連過去記事

py3math.hatenablog.com

py3math.hatenablog.com

py3math.hatenablog.com

広告を非表示にする