Python 3 で数学を。

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

NumPy

線形代数。ベクトル。計算法則が成立するかどうか。(計算則、計算規則)。等式。(Python 3: class (クラス), NumPy: all())

使用するライブラリ NumPy Python 3 コード equality1.py #!/usr/bin/env python3 """(docstring) """ import numpy as np class Equality1: """(docstring) """ def __init__(self, a, b, c, k, l): """(docstring) """ self.E1_a = a self.E1_b = b self.E…

三角関数。sin, cos, tan (サイン、コサイン、タンジェント)。第4象限の角の場合。(Python 3, NumPy: sin(), cos(), tan())

使用するライブラリ NumPy Python 3 コード trigonometric_functions4.py #!/usr/bin/env python3 """(docstring) """ import numpy as np def print_math_problems(): """(docstring) """ print("""問題: 以下の値を求めよ。 (1) sin (5/3)π (2) cos (5/3)π…

三角関数。sin, cos, tan (サイン、コサイン、タンジェント)。第3象限の角の場合。(Python 3, NumPy: sin(), cos(), tan(), rint())

使用するライブラリ NumPy Python 3 コード trigonometric_functions3.py #!/usr/bin/env python3 """(docstring) """ import numpy as np def print_math_problems(): """(docstring) """ print("""問題: 以下の値を求めよ。 (1) sin (5/4)π (2) cos (5/4)π…

三角関数。sin, cos, tan (サイン、コサイン、タンジェント)。第2象限の角の場合。(Python 3, NumPy: sin(), cos(), tan())

使用するライブラリ NumPy Python 3 コード trigonometric_functions2.py #!/usr/bin/env python3 """(docstring) """ import numpy as np def print_math_problems(): """(docstring) """ print("""問題: 以下の値を求めよ。 (1) sin (2/3)π (2) cos (2/3)π…

三角関数。sin, cos, tan (サイン、コサイン、タンジェント)。第1象限の角の場合。(Python 3, NumPy: sin(), cos(), tan())

使用するライブラリ NumPy Python 3 コード trigonometric_functions1.py #!/usr/bin/env python3 """(docstring) """ import numpy as np def print_math_problems(): """(docstring) """ print("""問題: 以下の値を求めよ。 (1) sin π/6 (2) cos π/6 (3) t…

線形代数。ベクトル。ユークリッド距離。(Python 3: class (クラス), NumPy: linalg, norm())

使用するライブラリ NumPy Python 3 コード euclidean_distance1.py #!/usr/bin/env python3 """(docstring) """ import numpy as np class EuclideanDistance1: """(docstring) """ def __init__(self, u, v): """(docstring) """ self.ED_u = u self.ED_v …

反比例。(Python 3, matplotlib, NumPy)

使用するライブラリ matplotlib NumPy Python 3 コード inverse_propotion1.py #!/usr/bin/env python3 """(docstring) """ import matplotlib.pyplot as plt import numpy as np def print_math_ploblems(): """(docstring) """ print("""問題: 24L 入る水…

加重平均 (重み付き平均)。自作関数。(Python 3: math, fsum(), NumPy)

使用するライブラリ 標準ライブラリの math Python 3 コード weighted_mean.py #!/usr/bin/env python3 """(docstring) """ from math import fsum def weighted_mean(w, n): """(docstring) """ # 加重平均 (重み付き平均)の数式: Σwx / Σw # 小数を扱うと…

関数。冪 (べき) 関数。グラフ。(微分積分、解析学)。(Python 3, matplotlib, NumPy: power())

使用するライブラリ matplotlib NumPy Python 3 コード functions7.py #!/usr/bin/env python3 """(docstring) """ import numpy as np def print_math_ploblems(): """(docstring) """ print("""問題: (1) 式 x, x^2, x^3, ..., x^n, による冪 (べき) 関数…

関数。絶対値関数。グラフ。絶対値関数同士の引き算。(微分積分、解析学)。(Python 3, matplotlib, NumPy: abs())

使用するライブラリ matplotlib NumPy Python 3 コード functions5.py #!/usr/bin/env python3 """(docstring) """ import numpy as np def print_math_ploblems(): """(docstring) """ print("""問題: (1) |x| = x x >= 0 のとき |x| = -x x < 0 のとき と…

関数。関数の定義、定義域、定義域外、簡単な表。(微分積分、解析学)。(Python 3, NumPy: sqrt(), linspace(), Pandas: DataFrame())

使用するライブラリ NumPy Pandas Python 3 コード functions2.py #!/usr/bin/env python3 """(docstring) """ import numpy as np def print_math_ploblems(): """(docstring) """ print("""問題: (1) h(x) = √x^2-1 を作成せよ。 h が受け取る入力は 1 以…

関数。体積の関数。(微分積分、解析学)。(Python 3: lambda式、NumPy: pi)

使用するライブラリ NumPy Python 3 コード functions1.py #!/usr/bin/env python3 """(docstring) """ import numpy as np def print_math_ploblems(): """(docstring) """ print("""問題: (1) 体積の関数 V(r) = 4πr^3 / 3 を定義、または作成せよ。 (2) V…

リサージュ図形、リサジュー図形。 (Python 3, matplotlib, NumPy: linspace())

使用するライブラリ matplotlib NumPy Python 3 コード lissajous_figures1.py #!/usr/bin/env python3 """(docstring) """ import matplotlib.pyplot as plt import numpy as np def lissajous_figures1(): """(docstring) """ xmin = -4 xmax = 4 x = np.l…

Σ (シグマ) の計算。(SymPy: latex() で数式を作成し、はてなのtexで表示する) (Python 3, SymPy: Sum(), doit(), latex())

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

一次関数、二次関数、三次関数、四次関数、五次関数 (1次関数、2次関数、3次関数、4次関数、5次関数) 複数のグラフを一度の実行で出力する (Python 3, NumPy, matplotlib)

使用するライブラリ matplotlib NumPy Python 3 コード plotting_functions2.py #!/usr/bin/env python3 """(docstring) """ import matplotlib.pyplot as plt import numpy as np def plotting_functions2(): """(docstring) """ # matplotlib の日本語設定…

二次関数 (2次関数) y = x^2等、複数のグラフを一度の実行で出力する (Python 3, matplotlib, NumPy)

使用するライブラリ matplotlib NumPy Python 3 コード plotting_quadratic_functions3.py #!/usr/bin/env python3 """(docstring) """ import matplotlib.pyplot as plt import numpy as np def plotting_quadratic_functions3(): """(docstring) """ # mat…

一次関数 (1次関数) y = xや-2x + 1等、複数のグラフを一度の実行で出力する (Python 3, matplotlib, NumPy)

使用するライブラリ matplotlib NumPy Python 3 コード plotting_linear_functions1.py #!/usr/bin/env python3 """(docstring) """ import matplotlib.pyplot as plt import numpy as np def plotting_linear_fuction1(): """(docstring) """ # matplotlib …

一次関数 (1次関数) y = x のグラフ (Python 3, NumPy: linspace(), matplotlib: hlines(), vlines(), text())

使用するライブラリ matplotlib NumPy Python 3 コード plotting_linear_function1.py #!/usr/bin/env python3 """(docstring) """ import matplotlib.pyplot as plt import numpy as np def plotting_linear_fuction1(): """(docstring) """ # matplotlib …

決定係数 R^2, r^2 (自作関数) (Python 3, NumPy)

使用するライブラリ NumPy Python 3 コード coefficient_of_determination.py #!/usr/bin/env python3 """(docstring) """ import numpy as np def coefficient_of_determination(x, y): """(docstring) """ # 決定係数は、 # 相関係数の数式: r = Σ(xi - xb…

最小二乗法。傾きb, y切片a。回帰方程式。回帰直線 (自作関数) (Python 3, NumPy)

使用するライブラリ Numppy Python 3 コード method_of_least_squares.py #!/usr/bin/env python3 """(docstring) """ import numpy as np def method_of_least_squares(x, y): """(docstring) """ # 最小二乗法の数式: # y = bx + a (当記事で参考にした、…

偏相関係数 (自作関数) (Python 3, NumPy)

使用するライブラリ NumPy Python 3 コード partial_correlation_coefficient.py #!/usr/bin/env python3 """(docstring) """ import numpy as np def partial_correlation_coefficient(x, y, z): """(docstring) """ # 偏相関係数の数式: r12 - r13r23 / √1…

カーネル密度推定、ヒストグラム、平滑化。(Python 3, Seaborn: distplot(), set())

使用するライブラリ Seaborn がメイン matplotlib NumPy Python 3 コード kernel_density_estimation.py #!/usr/bin/env python3 """(docstring) """ import matplotlib.pyplot as plt import numpy as np import seaborn as sns def kernel_density_estimat…

共分散と不偏共分散 (自作関数) (Python 3, Numpy: cov(), cov(, ddof=0), cov(, ddof=1))

使用するライブラリ NumPy Python 3 コード covariance.py #!/usr/bin/env python3 """(docstring) """ import numpy as np def covariance(x, y, my_ddof=0): """(docstring) """ # 共分散の数式: Σ(xi - xbar)(yi - ybar)/n # 不偏共分散: Σ(xi - xbar)(yi…

標準得点、標準化、正規化、基準化、z値、Z値 (自作関数) (Python 3, NumPy, SciPy: zscore())

使用するライブラリ NumPy Python 3 コード standard_score.py #!/usr/bin/env python3 """(docstring) """ import numpy as np def standard_score(x): """(docstring) """ # 標準得点、標準化、正規化、基準化、z値、Z値の数式: z = (xi - xbar) / S mean_…

変動係数 (不偏標準偏差ではない場合) (自作関数) (Python 3, NumPy, SciPy: variation())

使用するライブラリ NumPy Python 3 コード coefficient_of_variation.py #!/usr/bin/env python3 """(docstring) """ import numpy as np def coefficient_of_variation(x): """(docstring) """ # 変動係数の数式: C.V. = Sx / xbar # # 注意: ここでの変動…

相関係数 (自作) (Python 3, NumPy: corrcoef(), SciPy: stats, pearsonr())

使用するライブラリ NumPy Python 3 コード correlation_coefficient.py #!/usr/bin/env python3 """(docstring) """ import numpy as np def correlation_coefficient(x, y): """(docstring) """ # 相関係数の数式: Σ(xi - xbar)(yi - ybar) / √Σ(xi - xbar…

集合 (3数の集合) (Python3: functools, reduce() Numpy: intersect1d(), union1d()

以前、自分が書いていたブログから加筆・修正してこちらで公開。 (以前のブログは、自分自身のためのノート化が強くなったので現在非公開モードにしている)。 使用するライブラリ 標準ライブラリの functools の reduce NumPy Python 3 コード sets1.py #!/u…

調和平均 (平均) (Python 3, NumPy: sum(), SciPy: stats, hmean())

使用するライブラリ NumPy Python 3 コード harmonic_mean.py #!/usr/bin/env python3 """(docstring) """ import numpy as np def harmonic_mean(dat): """(docstring) """ # 調和平均の数式: (1/n)((1/x1) + ... + (1/xn)) # # 注意: この方法は、実用に耐…

幾何平均 (平均) (Python 3, NumPy: prod(), SciPy: stats, gmean())

使用するライブラリ NumPy Python 3 コード geometric_mean.py #!/usr/bin/env python3 """(docstring) """ import numpy as np def geometric_mean(dat): """(docstring) """ # 幾何平均の数式: n√(x1 * x2 * ... * xn) # # 注意: この方法は、実用に耐えな…

平均 (算術平均)。(Python 3, NumPy: sum())

使用するライブラリ NumPy Python 3 コード arithmetic_mean.py #!/usr/bin/env python3 """(docstring) """ import numpy as np def arithmetic_mean(dat): """(docstring) """ # 算術平均の数式: xbar = (x1 + x2 + ... + xn) / n return np.sum(dat) / le…