Python– category –
-
Python
1/81が0.0123456790・・・というように循環する理由
1/81を計算すると、0.0123456790123456790・・・と123456790が無限に循環することになります。 from decimal import * getcontext().prec = 46 print(f"{Decimal('1')/Decimal('81'):>30.46f}") 0.012345679012345679012345... -
Python
Pythonの再帰関数で漸化式の計算する
単純な漸化式 次のように定義される数式{a_n}の一般項を求めます。 $a_1=1, a_{n+1}=a_n+4$ 漸化式を解くと一般項は次の通りです。 $a_n=4n-3$ これをPythonの再帰関数と一般項の式を使って、n=1から5まで計算し比較します。。 def recurrence(n): ... -
Python
Pythonで円周率を計算する~最も素朴な方法
円周率を計算するのに、とりあえず頭に浮かぶ最も素朴な方法で計算します。まず、半径1の4分円の面積を求めるます。$x$の範囲である0から1を10等分し、0.0から0.9までの値を考えます。それぞれについて円の方程式から、yの値を計算します。 円の方程式 $x... -
Python
群数列をPythonで作成する
1から順に奇数を並べて、次の通り数字の小さい方から順に1個、3個、5個、・・・となるように郡に分け、順に第1群、第2群、第3群・・・第n群とします。 1 | 3 5 7 | 9 11 13 15 17 | 19 ・・・・ このとき、第n群の最初の数は$2n^2-4n+3$、最後の数は、$2n^... -
Python
Pythonでゴールドバッハ予測の計算をする
Pythonで1000までの正の整数についてゴールドバッハ予想の検証をしてみました。ゴールドバッハ予想は次のことをいいます。 4以上の全ての偶数は、二つの素数の和で表すことができる。6以上の全ての偶数は、二つの奇素数の和で表すことができる。 現在、$4 ... -
Python
decimalモジュールを使った小数点の計算
Pythonでは小数点の計算が思っていたのとは異なることを書きました。Pythonでの小数点の表示がおかしいこれに対して、decimalモジュールのDecimal関数を使うと上手くいきます。 import decimal print(decimal.Decimal(0.1)) print(decimal.Decimal(0.1) + ... -
Python
Pythonでの小数点の表示がおかしい
pythonで小数点の計算をしていると・・・ Pythonで小数点の計算をするとおかしなことが起こります。 print(0.1) print(0.1+0.1) print(0.1+0.1+0.1) 0.1 0.2 0.30000000000000004 0.1を2回までは良いですが、3回足し合わせると妙なことが起こります。 prin... -
Python
SymPyで数式の大小を比較する
SymPyでは数式に関しても大小の比較をしてくれますが、細かく見ていくとかなり配慮が必要です。 数式に値を代入して、数字として大小を比較する SymPyで変数を定義し、変数に具体的な数値を代入した後、その計算結果を比較します。比較にはEq関数を使いま... -
Python
SymPyで三角関数の加法定理を確認する
SymPyで三角関数の演算の公式を確認します。 三角関数の加算 sinの角の加算の計算をします。expandは式の展開をしますが、そのときtrig=Trueと指定することにより、加算公式の計算をすることができます。 import sympy sympy.var('alpha beta') sp... -
Python
SymPyで三角関数の基本的な演算をする
SymPyモジュールを使うと、数値だけでなく代数的にも三角関数の演算をすることができます。使いようによってはとてつもないことができそうです。 負角の計算(Negative angles) まずは、小手調べに負角からです。 display(sympy.sin(-theta)) display(sympy...