Python数学

6/7ページ
  • 2018.11.19

最小公倍数

最小公倍数 (least common multiple)  2 数 a, b について、それぞれの倍数からなる無限集合   A = {a, 2a, 3a, ...} B = {b, 2b, 3b, ...} をつくったとき、A と B に共通する元 (要素) を 公倍数 とよび、その中の最小数を 最小公倍数 (least common multiple) といいます。たとえば 4 と 6 につい […]

  • 2018.11.17

ランダム係数2次方程式の自動生成

 SymPy を活用したサンプルコードを作っておきました。後半に紹介する Rquadratic() は 2次方程式などを自動的に作成するクラスなので、数学の試験問題作成などに役立ててください。 有理係数二次関数クラス  Quadraticクラスは有理係数 2次関数 $ax^2+bx+c$ をデータ属性にもつインスタンスを生成します。各種のメソッドによって x に値を代入したり、頂点の座標や 2次方 […]

  • 2018.11.15

[SymPy] 常微分方程式

常微分方程式を解く手順  sympy.solvers.ode モジュールをインポートすると、次のような種類の 常微分方程式 を解くことができるようになります。  ・1階変数分離型微分方程式  ・1階斉次微分方程式  ・1階完全微分方程式  ・1階線形微分方程式  ・n階定数係数微分方程式  ・ベルヌイ型微分方程式  ・スツルム=リウヴィル型微分方程式   いくつかの例を使って、SymPy による常 […]

  • 2018.11.14

[SymPy] 微分積分

関数の微分  引数に渡した関数 func を 変数 var で n階微分するときは次の構文を記述します。  diff(func, var, n)  引数 n を省略すると 1 階微分します。 # SymPy 微分 サンプルコード① # sympyをインポート import sympy # 記号a, b, c, xを定義 sympy.var('a b c x') # 関数f(x)を定義 f = a* […]

  • 2018.11.13

[SymPy] 代数方程式

代数方程式を解きます  次の構文で代数方程式 $f(x)=0$ を解くことができます。  sympy.solve(f(x), x)  解はタプル型で得られます。 solve()関数の基本的な使い方  例として $x^2+1=0$ を解いてみます。 # 代数方程式の解[1] # sympyをインポート import sympy # 記号xを定義 sympy.var('x') # x**2 + 1 = […]

  • 2018.11.13

[SymPy] 無限大記号と関数の極限

無限大記号  SymPy では oo という記号で無限大 (∞) を扱います。 # sympyから無限大記号をインポート from sympy import oo # 無限大記号の演算 print("oo + 1 = {}".format(oo + 1)) print("oo - oo = {}".format(oo - oo)) print("oo / oo = {}".format(oo / […]

  • 2018.11.12

[SymPy] 使用できる主な関数

 SymPy をインポートすると様々な関数を使えるようになります。  その中からよく使われるものを紹介します。ここに掲載されたもの以外にも数学で使用される関数のほとんどは使えるはずなので、必要に応じて SymPy公式ドキュメント で探してみてください。当サイトでも今後の数値計算で特殊関数などを使用する場合には、その都度説明します。 指数関数  sympy.exp() はネイピア数 e を底とする指 […]

  • 2018.11.12

[SymPy] 数学定数とオイラーの等式

SymPy の数学定数  SymPy では数学定数を Symbol として扱うことができます。  円周率 sympy.pi  自然対数の底 sympy.E  虚数単位 sympy.I  これらの Symbol を式に組み込むと、pi, E, I という記号で表示されます。数学定数同士で演算が行われると数値(int や float ではなく、sympy.core.numbers.Integer のよ […]

  • 2018.11.11

[SymPy] 多項式の展開と因数分解

多項式の展開  多項式 A と多項式 B の積をつくると、(多項式 A) * (多項式 B) という形で返ってきます。 # sympyをインポート import sympy # 文字を定義 sympy.var('a b') # 多項式を定義 f1 = a + 5 * b + 2 f2 = a + 2 * b + 5 # 多項式の積 g = f1 * f2 print(g) (a + 2*b + 5 […]

  • 2018.11.02

十進浮動小数点数型 (Decimalクラス)

十進浮動小数点数型 (Decimalクラス)  組み込みの浮動小数点数型 (floatクラス) オブジェクトを使った数値計算には非常に厄介な一面があります。たとえば、0.1 + 0.1 + 0.1 - 0.3 というような簡単な演算でさえ正確な値を返してくれません(理由については浮動小数点数の記事を参照してください)。 x = 0.1 + 0.1 + 0.1 - 0.3 print(x) 5.55 […]

1 6 7