数学

高校数学: Σ (シグマ) の計算 2: Python3: SymPy: Sum(), doit(), latex()

使用する数式 上の数式は以下で作成 (SymPy: latex()) >>> import sympy as sym >>> k, n = sym.symbols('k n') >>> print(sym.latex(sym.Sum(4, (k, 1, 5)))) \sum_{k=1}^{5} 4 >>> print(sym.latex(sym.Sum(2*k**2 + 5*k + 3, (k, 1, 4)))) \sum_{k=1}^{4}…

高校数学: Σ (シグマ) の計算 1: Python3: SymPy: Sum(), doit(), latex()

使用する数式 上の数式は以下で作成 (Sympy: latex()) >>> import sympy as sym >>> k = sym.Symbol('k') >>> print(sym.latex(sym.Sum(k, (k, 1, 7)))) \sum_{k=1}^{7} k >>> print(sym.latex(sym.Sum(k**2, (k, 1, 5)))) \sum_{k=1}^{5} k^{2} Python3 コ…

高校数学: (SymPy の Eq() を用いた) 等式 2: solve() で 2 次方程式を解く (右辺 0 の場合): Python3: SymPy: Eq(), solve()

Python3 コード eq2.py #!/usr/bin/env python3 """(docstring) """ import sympy as sym class MathProblem: """(docstring) """ @staticmethod def print_math_problem(): """(docstring) """ print('SymPy の Eq() で等式をつくり、右辺 0 の 2 次方程式…

中・高校数学: (SymPy の Eq() を用いた) 等式 1: solve() で 1次方程式を解く: Python3: SymPy: Eq(), solve()

Python3 コード eq1.py #!/usr/bin/env python3 """(docstring) """ import sympy as sym class MathProblem: """(docstring) """ @staticmethod def print_math_problem(): """(docstring) """ print('SymPy の Eq() で等式をつくり、1 次方程式を解け。\n'…

高校数学: 解析学 (微分積分): 積分 3 不定積分 (整式の不定積分) 1: Python3: SymPy: Integral(), integrate() (SymPy では定数はつかない)

Python3 コード integrate3.py #!/usr/bin/env python3 """(docstring) """ import sympy as sym class MathProblem: """(docstring) """ @staticmethod def print_math_problem(): """(docstring) """ print('整式の不定積分を求めよ\n') class Integrate3:…

高校数学: 確率分布 1: Python3: SymPy: sympy.functions.combinatorial.numbers, nC()

Python3 コード prob_distro1.py #!/usr/bin/env python3 """(docstring) """ from sympy.functions.combinatorial.numbers import nC def print_math_problem(): """(docstring) """ print("""男子 10 人、女子 5 人の中から 3 人の委員を選出するとき、 委…

高校数学: 確率 (サイコロ) (集合) (排反・排反事象) 1: Python3: len() NumPy: intersect1d(), union1d() SymPy: Rational()

Python3 コード probability1.py #!/usr/bin/env python3 """(docstring) """ import numpy as np import sympy as sym def print_math_problem(): """(docstring) """ print("""1 個のサイコロを 1 回投げるという施行において、 以下の事象が起こる確率を…

NumPy で 2次方程式を解く Python3: NumPy: poly1d(), roots()

Python3 コード (対話モード) >>> import numpy as np >>> expr1 = np.poly1d([1, -3, -18]) # x^2 - 3x - 18 = 0 >>> expr1 poly1d([ 1, -3, -18]) >>> print(expr1) 2 1 x - 3 x - 18 >>> ans1 = np.roots(expr1) # roots() で根 (または解) >>> ans1 arra…

高校数学: 場合の数: 組合せ (nCr = nCn - r, 積の法則、少なくとも・特定の) 5: Python3: SymPy: sympy.functions.combinatorial.numbers, nC()

Python3 コード combinations5.py #!/usr/bin/env python3 """(docstring) """ from sympy.functions.combinatorial.numbers import nC def print_math_problem(): """(docstring) """ print("""男 6 人、女 4 人の計 10 人から 4 人の代表を選ぶとき、 以下…

NumPy で多項式の計算, 数値を代入して計算。Python3: Numpy: poly1d(), polyval(), polyadd()

Python3 コード (対話モード) >>> import numpy as np >>> expr1 = np.poly1d([1, 7, 10]) # x^2 + 7x + 10 >>> expr1 poly1d([ 1, 7, 10]) >>> print(expr1) 2 1 x + 7 x + 10 >>> expr2 = np.poly1d([1, 2, -15]) # x^2 + 2x - 15 >>> expr2 poly1d([ 1, 2…

高校数学: 場合の数: 組合せ (nCn = nC0 = 1) 4: Python3: enumerate(), SymPy: sympy.functions.combinatorial.numbers, nC()

Python3 コード combinations4.py #!/usr/bin/env python3 """(docstring) """ from sympy.functions.combinatorial.numbers import nC def print_math_problem(): """(docstring) """ print("""以下の計算をせよ。 (1). 10C10 (2). 10C0 (3). 100C100 (4). …

高校数学: 場合の数: 組合せ (nCr = nCn - r) 3: Python3: enumerate(), SymPy: sympy.functions.combinatorial.numbers, nC()

Python3 コード combinations3.py #!/usr/bin/env python3 """(docstring) """ from sympy.functions.combinatorial.numbers import nC def print_math_problem(): """(docstring) """ print("""以下の各問いに答えよ。 (1). 10 人の人間から、7 人の代表を…

高校数学: 場合の数: 組合せ 2: Python3: 多重代入, SymPy: sympy.functions.combinatorial.numbers, nC()

Python3 コード combinations2.py #!/usr/bin/env python3 """(docstring) """ from sympy.functions.combinatorial.numbers import nC def print_math_problem(): """(docstring) """ print("""円周上に 8 個の点、A, B, C, D, E, F, G, H があるとする。 …

高校数学: 場合の数: 組合せ 1: Python3: enumerate(), SymPy: sympy.functions.combinatorial.numbers, nC()

Python3 コード combinations1.py #!/usr/bin/env python3 """(docstring) """ from sympy.functions.combinatorial.numbers import nC def print_math_problem(): """(docstring) """ print("""以下の計算をせよ。 (1). 10C3 (2). 12C4 (3). 6C1 (4). 5C5 "…

高校数学: 場合の数: 順列 5: Python3: reversed(), SymPy: factorial(), functions.combinatorial.numbers, nP()

Python3 コード permutations5.py #!/usr/bin/env python3 """(docstring) """ import sympy as sym from sympy.functions.combinatorial.numbers import nP def print_math_problem(): """(docstring) """ print("""男 3 人、女 4 人の合計 7 人が 1 列に並…

高校数学: 順列 (nPn = n!) 4: Python3: reversed(), SymPy: factorial()

Python3 コード permutations4.py #!/usr/bin/env python3 """(docstring) """ import sympy as sym def print_math_problem(): """(docstring) """ print("""以下の各問いに答えよ。 (1). 4 人の人間が 1列に並ぶ時、 並べ方の場合の数を求めよ。 (2). 1, 2…

高校数学: 順列 3: Python3: reversed(), SymPy: sympy.functions.combinatorial.numbers, nP()

Python3 コード permutations3.py #!/usr/bin/env python3 """(docstring) """ from sympy.functions.combinatorial.numbers import nP def print_math_problem(): """(docstring) """ print("""以下の各問いに答えよ。 (1). 6 人の人間から 3 人の人間を選…

高校数学: 順列 2: Python3: SymPy: sympy.functions.combinatorial.numbers, nP(), factorial()

Python3 コード permutations2.py #!/usr/bin/env python3 """(docstring) """ import sympy as sym from sympy.functions.combinatorial.numbers import nP def print_math_problem(): """(docstring) """ print("""以下の計算をせよ。 (1). 10P3 (2). 8P4 …

高校数学: 集合 (3数の集合) 4: Python3: functools.reduce() で畳み込み、または畳み込む。 Numpy: intersect1d(), union1d()

Python3 コード sets_cap_cup_complement4.py #!/usr/bin/env python3 """(docstring) """ import functools import numpy as np def print_math_problem(): """(docstring) """ print("""1 から 600 までの整数の中で、2 の倍数の集合を A, 3 の倍数の集合…

高校数学: 集合 (おもに空集合 Φ のために) 3: Python3: Numpy: intersect1d(), union1d(), setdiff1d()

Python3 コード sets_cap_cup_complement3.py #!/usr/bin/env python3 """(docstring) """ import numpy as np def print_math_problem(): """(docstring) """ print("""全体集合 U = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10} とし、 部分集合 A = {1, 3, 5, 7, 9},…

高校数学: 式の展開 8: 3乗の展開: SymPy, expand(), NumPy, array()

Python3 コード expand8.py #!/usr/bin/env python3 """(docstring) """ import sympy as sym class MathProblem: """(docstring) """ @staticmethod def print_math_problem(): """(docstring) """ # 3次の乗法公式: # (1). (a + b)(a^2 - ab + b^2) = a^3 …

(高校数学): 解析学 (微分積分): 微分: 導関数を求める 5: Python3: SymPy: diff() (for文)

Python3 コード diff5.py #!/usr/bin/env python3 """(docstring) """ import sympy as sym class MathProblem: """(docstring) """ @staticmethod def print_math_problem(): """(docstring) """ print('関数の導関数を求めよ。') print('') class Diff5: "…

(高校数学): 解析学 (微分積分): 極限、極限値 4: Python3: SymPy: limit() (for文)

Python3 コード limit4.py #!/usr/bin/env python3 """(docstring) """ import sympy as sym class MathProblem: """(docstring) """ @staticmethod def print_math_problem(): """(docstring) """ print('関数の極限を求めよ。') print('') class Limit4: "…

高校数学: 集合: 要素の個数 2: Python3: Numpy: arange(), SymPy: FiniteSet(), Intersection(), Union(), Complement()

Python3 コード num_elems2.py #!/usr/bin/env python3 """(docstring) """ import numpy as np import sympy as sym def print_math_problem(): """(docstring) """ print("""1 から 500 までの整数の中で、2 の倍数の集合を A, 5 の倍数の集合を B とする…

高校数学: 集合: 要素の個数 1: Python3: Numpy: array(), arange(), size, intersect1d()

Python3 コード num_elems1.py #!/usr/bin/env python3 """(docstring) """ import numpy as np def print_math_problem(): """(docstring) """ print("""1 から 500 までの整数の中で、2 の倍数の集合を A, 5 の倍数の集合を B とする。このとき、以下を求…

(高校数学): 解析学 (微分積分): 極限、極限値 3: Python3: SymPy: limit()

Python3 コード limit3.py #!/usr/bin/env python3 """(docstring) """ import sympy as sym class MathProblem: """(docstring) """ @staticmethod def print_math_problem(): """(docstring) """ print('関数の極限を求めよ。') print('') class Limit3: "…

線形代数: 連立1次方程式と行列: Python3: SymPy: linsolve()

連立1次方程式 x + y + 2z = 9 2x + 4y - 3z = 1 3x + 6y - 5z = 0 があるとして。 Python3 コード (対話モード) >>> import sympy as sym >>> x, y, z = sym.symbols('x y z') >>> expr = [x + y + 2*z - 9, 2*x + 4*y - 3*z - 1, 3*x + 6*y - 5*z - 0] # o…

高校数学: 整数の性質: 約数と倍数: 最大公約数と最小公倍数 2 (3数の最大公約数と最小公倍数を求める): Python 3: functools, reduce(), SymPy: gcd(), lcm()

(3つの整数の最大公約数と最小公倍数)。 Python3 コード gcd_lcm2.py #!/usr/bin/env python3 """(docstring) """ import functools import sympy as sym class MathProblem: """(docstring) """ @staticmethod def print_math_problem(): """(docstring) ""…

高校数学: 整数の性質: 約数と倍数: 最小公倍数 1 (n1 では割り切れるが n2 では割り切れない数の個数): Python 3: SymPy: gcd(), lcm(), NumPy: random.randint()

Python3 コード lcm1..py #!/usr/bin/env python3 """(docstring) """ import sympy as sym def print_math_problem(): """(docstring) """ print('3桁の整数の中で、12では割り切れるが、42では割り切れない数の個数を求めよ。') def lcm1(): """(docstring…

高校数学: 整数の性質: 約数と倍数: 最大公約数と最小公倍数 1: Python 3: SymPy: gcd(), lcm(), NumPy: random.randint()

Python3 コード gcd_lcm1.py #!/usr/bin/env python3 """(docstring) """ import sympy as sym class MathProblem: """(docstring) """ @staticmethod def print_math_problem(): """(docstring) """ print('2つの整数の最大公約数と最小公倍数を求めよ。') …